Supplement the documentation of be-clion-dev, avoid the problem of undefined DORIS_JAVA_HOME and inability to find jni.h when using clion development without directly compiling through build.sh Complete the classification of header files in pch.h and introduce some header files that are not frequently modified in doris. Separate the declaration and definition in common/config.h. If you need to modify the default configuration now, please modify it in common/config.cpp. gen_cpp/version.h is regenerated every time it is recompiled, which may cause PCH to fail, so now you need to get the version information indirectly rather than directly.
4.4 KiB
title, language
| title | language |
|---|---|
| Doris BE 开发调试环境 -- clion | zh-CN |
使用 Clion 进行 Apache Doris BE 远程开发调试
远程服务器代码下载编译
- 在远程服务器上下载一份 Doris 代码。比如 Doris 根目录为
/mnt/datadisk0/chenqi/doris。
git clone https://github.com/apache/doris.git
-
修改远程服务器上 Doris 代码根目录下的 env.sh 文件,在开头增加
DORIS_HOME的配置,比如DORIS_HOME=/mnt/datadisk0/chenqi/doris。 -
执行相关命令进行编译。其中详细编译过程可参考编译文档。
cd /mnt/datadisk0/chenqi/doris
./build.sh
本地 Clion 安装配置远程开发环境
-
在本地下载安装 Clion,导入 Doris BE 代码。
-
在本地设置远程开发环境。 在 Clion 中打开 Preferences -> Build, Execution, Deployment -> Deployment 中添加远程开发环境。 使用 SFTP 来添加一个远程开发服务器的相关连接登陆信息。设置 Mappings 路径。 比如 Local Path 为本地路径
/User/kaka/Programs/doris/be,Deployment Path 为远程服务器路径/mnt/datadisk0/chenqi/clion/doris/be。
- 将远程服务器上编译完成的
gensrc路径,比如/mnt/datadisk0/chenqi/doris/gensrc拷贝到 Deployment Path 的上一级目录。 比如拷贝完最终的目录为远程服务器路径/mnt/datadisk0/chenqi/clion/doris/gensrc。
cp -R /mnt/datadisk0/chenqi/doris/gensrc /mnt/datadisk0/chenqi/clion/doris/gensrc
- 在 Clion 中打开 Preferences -> Build, Execution, Deployment -> Toolchains 中添加远程环境的相关 Toolchains,比如 cmake、gcc、g++、gdb 等。 其中最关键的一点是需要在 Environment file 中 填写远程服务器 Doris 代码中的 env.sh 文件路径。
-
在 Clion 中打开 Preferences -> Build, Execution, Deployment -> CMake ,在CMake options中添加编译选项-DDORIS_JAVA_HOME=/path/to/remote/JAVA_HOME,将DORIS_JAVA_HOME设置为远程服务器的JAVA_HOME路径,否则会找不到 jni.h。
-
在 Clion 中右键点击 Load Cmake Project。此操作会同步代码到远程服务器上,并且调用生成相关 Cmake Build Files。
本地 Clion 运行调试远程 BE
-
在 Preferences -> Build, Execution, Deployment -> CMake 中配置 CMake。可以配置类似于 Debug / Release 等不同的 Target, 其中 ToolChain 需要选择刚才配置的。 如果要运行调试 Unit Test 的话,需要在 CMake Options 中配置上
-DMAKE_TEST=ON(该选项默认关闭,需要打开才会编译 Test 代码) -
在远程服务器上将 Doris 源代码中的
output目录拷贝到一个单独的路径下,比如/mnt/datadisk0/chenqi/clion/doris/doris_be/。
cp -R /mnt/datadisk0/chenqi/doris/output /mnt/datadisk0/chenqi/clion/doris/doris_be
- 在 Clion 中选择 doris_be 相关的 Target,比如 Debug 或者 Release,进行配置运行。
参照 Doris 根目录下的 be/bin/start_be.sh 中 export 的环境变量进行环境变量配置。其中环境变量的值指向远程服务器对应的路径。
环境变量参考:
- 点击运行或者调试 BE。其中点击 Run 可以编译运行 BE,而点击 Debug 可以编译调试 BE。





