调试流程
DevEco Studio提供了丰富的OpenHarmony应用/服务调试能力,帮助开发者更方便、高效的调试应用/服务。
OpenHarmony应用/服务调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名后进行调试。详细的调试流程如下图所示:
配置签名信息
DevEco Studio为开发者提供了自动化签名方案,可以一键完成应用/服务签名。具体操作如下:
单击File > Project Structure > Project > Signing Configs界面勾选“Automatically generate signature”,等待自动签名完成即可,单击“OK”。如下图所示:
调试设置
设置调试代码类型
OpenHarmony支持ArkTS、JS和C/C++代码调试,默认情况下调试器支持的调试类型为Detect Automatically。调试类型包括如下几种:
表1 调试类型配置项
修改调试类型的方法如下。
点击Run > Edit Configurations > Debugger,在OpenHarmony App中,选择相应模块,设置Debug type即可。
设置HAP安装方式
在调试阶段,HAP在设备上的安装方式有2种,可以根据实际需要进行设置。
- 安装方式一:先卸载应用/服务后,再重新安装,该方式会清除设备上的所有应用/服务缓存数据(默认安装方式)。
- 安装方式二:采用覆盖安装方式,不卸载应用/服务,该方式会保留应用/服务的缓存数据。
设置方法如下:
单击Run > Edit Configurations,设置指定模块的HAP安装方式,勾选 Keep Application Data,则表示采用覆盖安装方式,保留应用/服务缓存数据。
设置多HAP安装
如果工程中同时存在多个模块,且您的应用/服务存在跨模块间的调用时,在调试阶段需要同时安装多个模块的HAP到设备中。此时,需要在Deploy Multi Hap中选择多个模块,启动调试时,DevEco Studio会将所有的模块都安装到设备上。
设置方法如下:
单击Run > Edit Configurations,在Deploy Multi Hap中,勾选Deploy Multi Hap Packages,选择多个模块。
1.在启动调试时,请选择勾选了Deploy Multi Hap Packages的模块(如上图中的entry),然后再启动调试。
说明
Debug和Attach Debugger的区别在于,Attach Debugger to Process需要先运行应用/服务,然后再启动调试,或者直接启动设备上已安装的应用/服务进行调试;而Debug是直接运行应用/服务后立即启动调试。
2.如果需要设置断点调试,则需要选定要设置断点的有效代码行,在行号(比如:第5行)的区域后,单击鼠标左键设置断点(如图示的红点)。
设置断点后,调试能够在正确的断点处中断,并高亮显示该行。
3.启动调试后,开发者可以通过调试器进行代码调试。调试器的功能说明如下表所示:
表2 调试器按钮
断点管理
在设置的程序断点红点处,单击鼠标右键,然后单击More或按快捷键Ctrl+Shift+F8(macOS为Shift+Command+F8),可以管理断点。
表3 不同代码类型的断点管理功能