鸿蒙平台调试

大约 2 分钟

鸿蒙平台调试

在开发模式上,日常需求开发阶段,建议以安卓平台开发调试工具为主。在遇到鸿蒙平台特有相关问题时,可按本文档指引,从鸿蒙宿主侧进行调试分析。

Kotlin版本选择

设置kotlin版本和maven源如下

Kotlin版本:kotlinVersion=2.0.21-KBA-010

maven源:maven("https://mirrors.tencent.com/nexus/repository/maven-tencent/open in new window")

IDE设置

打开DevEco Studio,并设置使其识别kt文件,以方便通过ide进行断点设置。 Preferences -> Editor -> File Types,选中C code file,右侧pannel中点击加号增加*.kt条目

IDE设置示例截图
IDE设置示例截图

断点设置指引

  • 方式1

进行上述IDE设置后,可将对应的kt文件拖到鸿蒙IDE,这时可正常同其他文件一样,为文件设置断点。

IDE设置示例截图
IDE设置示例截图
  • 方式2 在鸿蒙IDE Debug->debugger->lldb窗口中 用命令行进行设置用命令行进行断点设置
(lldb) breakpoint set --file foo.kt --line 12
命令行设置示例截图
命令行设置示例截图

断点调试

Debug/Attach调试目标进程

Debug Or Attach Process
Debug Or Attach Process
  • 方式1

在鸿蒙DevEco IDE中点击Debug按钮调试App

  • 方式2

如果App已经事先运行起来,可点右侧按钮Attach进程

这两种方式调试器attach上后,会有以下提示:

************** start native debugger process ****************
11/25 17:10:58: Native Debug Started
11/25 17:10:59.002: library-loaded,target-name="...appspawn" ...
11/25 17:11:03.591: library-loaded,target-name="[vdso]"...
... 其他library-loaded日志 ....
11/25 17:11:03: Debuggee Program Continued, total time spent: 5809 ms

注意

调试Kotlin跨端代码,需使用debug产物

加载Kotlin调试脚本

对于2.0.21-KBA-010 Kotlin版本,需下载konan_lldb.pyopen in new window文件 加载文件有两中方式,一种自动,一种手动,一般而言,如果不介意加载脚本带来的轻微启动耗时,建议在ide配置自动加载。

自动加载

点击module名称下拉框,点Edit Configurations

Edit Configuration
Edit Configuration

点击Debugger Tab,选中LLDB Startup Commands Tab,并输入加载命令

LLDB Command
LLDB Command

手动加载

手动加载即是在需要用到kotlin调试到时候,手工在lldb命令窗口中输入加载指令 鸿蒙IDE Debug->debugger->lldb窗口

(lldb) command script import ~/Desktop/konan_lldb.py
Success
LLDB Command
LLDB Command

注意

Kotlin调试脚本命名必须是konan_lldb.py

执行业务逻辑断点命中后检查变量情况

Inspect Variables
Inspect Variables

KuiklyBase鸿蒙调试插件

通过上述方式,可以实现Kotlin 跨端代码与鸿蒙 ArkTS 的联合调试,但现有流程仍需较多人工操作。为进一步提升开发效率,Kuikly 团队计划推出鸿蒙调试插件,进一步提升调试体验。具体进展可关注Roadmap鸿蒙调试插件开发进度。