目录

调试Native子进程

从26.0.0版本开始,DevEco Studio支持调试Native子进程,包括扩展进程(C/C++)和应用程序包集成bin文件开发的子进程。

使用约束

调试配置

调试器会自动从模块编译输出目录查找符号文件。

<module>/build/<product>/intermediates/libs/<target>/<abi>/

<product>和<target>默认均为default,<abi>由设备架构决定(如arm64-v8a、x86_64)。

本地编译的so/bin通常无需额外配置。以下两种情况需要手动配置。

[h2]添加符号路径

场景:调试bin文件,或调试非本地编译的so文件。

打开运行/调试配置面板,点击Debugger > LLDB Startup Commands > +添加命令,支持添加多个路径。

settings append target.exec-search-paths "<符号文件所在文件夹路径>"

[h2]添加源码映射

场景:so/bin文件非本地编译时,编译路径与本地源码路径不一致,会导致断点无法命中,需要添加源码映射。

打开运行/调试配置面板,点击Debugger > LLDB Startup Commands > +添加命令。

settings set target.source-map "<编译时路径>" "<本地源码路径>"

调试过程中如果找不到源码文件,DevEco Studio也会在反汇编窗口顶部弹出通知,点击后可直接选择本地文件完成映射。

调试方式

通过attach方式对Native子进程进行调试,在attach窗口中直接选择子进程进行调试。

或者先attach调试主进程,再点击调试面板的,打开attach窗口选择子进程进行调试。

常见问题

问题

解决措施

断点空心圆、不命中

编译路径与本地不一致,添加源码映射。

调用栈只有地址、没有函数名

符号文件未加载,检查符号路径配置。

提示"找不到符号文件"

模块未编译或编译输出为空,重新构建项目。