目录

启动调试

支持 debug 和 attach 模式启动调试,启动调试前选择对应的设备进行调试,可参考debug启动调试或attach启动调试章节。

在调试配置中将 Debug type 选择为 Dual (ArkTS/JS + Native) 、Native 或 Detect Automatically,在启动调试前进行配置并在下一次调试生效。

  • Detect Automatically 类型会根据当前工程是否为 native 工程判断是否启动 native 调试。
  • 如果调试时启用编译器优化,增加编译优化选项或使用release编译模式等,编译器会对编译后的汇编指令进行更改,从而使得代码运行更加高效。但优化后的指令难以与原始代码形成映射关系,可能会导致在调试的过程中出现异常或错误信息,例如局部变量信息被删除、无法正确跳转到期望的代码行等。因此,在调试的过程中需要关闭编译优化选项或者使用debug编译模式,避免因优化而导致的异常。
图1 native 调试配置界面

查看静态/全局变量

在 native 调试配置界面中勾选“Show static/global variables in the Variables Pane”,调试过程中变量列表会展示静态/全局变量。

符号表路径

在 native 调试配置界面中的“Symbol Directories”页签,点击“+”,可以添加符号表路径。这里指的是带有调试信息的 so 库。例如,您可以先编译带有调试信息的 so 库,然后将其调试信息裁减掉,在设备侧运行无调试信息的 so 库,调试时将带有调试信息的 so 库路径添加在这里,可以实现对该 so 库的调试。

预设调试器命令

在 native 调试配置界面中的“LLDB Startup Commands”页签和“LLDB Post Attach Commands”页签中预设lldb命令。

在 “LLDB Startup Commands”页签中的命令会在 LLDB 调试器启动之后立即执行,在“LLDB Post Attach Commands”页签中的命令会在 LLDB 调试器成功 attach 到进程之后执行。