OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试

丶龙八夷
发布于 2023-4-4 14:08
浏览
0收藏

应用/服务运行

配置签名信息

应用/服务在真机设备上运行,需要提前为应用/服务进行签名,DevEco Studio为开发者提供了自动化签名方案,可以一键完成应用/服务签名。具体操作如下:

单击File > Project Structure > Project > Signing Configs界面勾选Automatically generate signature,等待自动签名完成即可,单击OK。如下图所示:

说明

如果您的应用/服务使用了“system_basic”和“system_core”权限,请参考​​修改应用权限等级​​修改签名模板。您使用到的应用权限,可以在自动化签名完成后,单击Show Restricted Permissions进行查看。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

运行应用/服务

安装OpenHarmony应用可以通过DevEco Studio安装,也可以通过使用hdc_std工具(API 9工程中该工具名称为hdc)进行手动安装。

  • 通过DevEco Studio安装:将设备连接上DevEco Studio后,单击


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

按钮即可安装。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

  • 通过hdc_std工具安装:手动执行命令行完成应用的安装。

hdc_std工具本身需要手动从开源仓中获取。然后使用工具命令将编译后的HAP安装到设备上。

相关命令如下:

    ○  安装命令install [-r/-d/-g] package
命令示例:

hdc_std install E:\ohos-admin.hap
  • 日志抓取命令

hilog

命令示例:

hdc_std hilog

完整的hdc_std工具使用指导及命令格式请参见​​hdc_std使用指导​​。

应用/服务调试

使用真机进行调试

调试流程

DevEco Studio提供了丰富的OpenHarmony应用/服务调试能力,帮助开发者更方便、高效的调试应用/服务。

OpenHarmony应用/服务调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名后进行调试。详细的调试流程如下图所示:

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

配置签名信息

DevEco Studio为开发者提供了自动化签名方案,可以一键完成应用/服务签名。具体操作如下:

单击File > Project Structure > Project > Signing Configs界面勾选“Automatically generate signature”,等待自动签名完成即可,单击“OK”。如下图所示:

说明

如果您的应用/服务使用了“system_basic”和“system_core”权限,请参考​​修改应用权限等级​​修改签名模板。您使用到的应用权限,可以在自动化签名完成后,单击Show Restricted Permissions进行查看。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

调试设置

设置调试代码类型

OpenHarmony支持ArkTS、JS和C/C++代码调试,默认情况下调试器支持的调试类型为Detect Automatically。调试类型包括如下几种:

表1 调试类型配置项

调试类型

调试代码

Js Only

调试ArkTS和JS代码

Native Only

仅调试C/C++代码

Dual(Js + Native)

调试C/C++工程的ArkTS/JS和C/C++代码

Detect Automatically

新建工程默认调试器选项,根据调试的工程类型,自动启动对应的调试器。

修改调试类型的方法如下。

点击Run > Edit Configurations > Debugger,在OpenHarmony App中,选择相应模块,设置Debug type即可。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

设置HAP安装方式

在调试阶段,HAP在设备上的安装方式有2种,可以根据实际需要进行设置。

  • 安装方式一:先卸载应用/服务后,再重新安装,该方式会清除设备上的所有应用/服务缓存数据(默认安装方式)。
  • 安装方式二:采用覆盖安装方式,不卸载应用/服务,该方式会保留应用/服务的缓存数据。

设置方法如下:

单击Run > Edit Configurations,设置指定模块的HAP安装方式,勾选 Keep Application Data,则表示采用覆盖安装方式,保留应用/服务缓存数据。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

设置多HAP安装

如果工程中同时存在多个模块,且您的应用/服务存在跨模块间的调用时,在调试阶段需要同时安装多个模块的HAP到设备中。此时,需要在Deploy Multi Hap中选择多个模块,启动调试时,DevEco Studio会将所有的模块都安装到设备上。

设置方法如下:

单击Run > Edit Configurations,在Deploy Multi Hap中,勾选Deploy Multi Hap Packages,选择多个模块。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

在启动调试时,请选择勾选了Deploy Multi Hap Packages的模块(如上图中的entry),然后再启动调试。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

启动调试
  1. 在工具栏中,选择调试的设备,并单击Debug


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

Attach Debugger to Process

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

启动调试。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

说明

Debug和Attach Debugger的区别在于,Attach Debugger to Process需要先运行应用/服务,然后再启动调试,或者直接启动设备上已安装的应用/服务进行调试;而Debug是直接运行应用/服务后立即启动调试。

  1. 如果需要设置断点调试,则需要选定要设置断点的有效代码行,在行号(比如:第5行)的区域后,单击鼠标左键设置断点(如图示的红点)。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

设置断点后,调试能够在正确的断点处中断,并高亮显示该行。

  1. 启动调试后,开发者可以通过调试器进行代码调试。调试器的功能说明如下表所示:

表2 调试器按钮

按钮

名称

快捷键

功能


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区


Resume Program

F9(macOS为Option+Command+R

当程序执行到断点时停止执行,单击此按钮程序继续执行。


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区


Step Over

F8(macOS为F8

在单步调试时,直接前进到下一行(如果在函数中存在子函数时,不会进入子函数内单步执行,而是将整个子函数当作一步执行)。


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区


Step Into

F7(macOS为F7

在单步调试时,遇到子函数后,进入子函数并继续单步执行。


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区


Step Out

Shift+F8(macOS为Shift+F8

在单步调试执行到子函数内时,单击Step Out会执行完子函数剩余部分,并跳出返回到上一层函数。


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区


Stop

Ctrl+F2(macOS为Command+F2

停止调试任务。


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区


Run To Cursor

Alt+F9(macOS为Option+F9

断点执行到鼠标停留处。

断点管理

在设置的程序断点红点处,单击鼠标右键,然后单击More或按快捷键Ctrl+Shift+F8(macOS为Shift+Command+F8),可以管理断点。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

表3 不同代码类型的断点管理功能

代码类型

断点管理

JS(JS)、ArkTS

  • 普通行断点
  • Exception(异常)断点

C/C++

  • 普通行断点
  • Exception(异常)断点
  • Symbolic(符号)断点

ArkTS/JS与C/C++工程跨语言调试

在C/C++工程中,采用ArkTS/JS与C/C++进行混合开发。一般使用ArkTS或JS进行界面的开发,使用C/C++来开发应用/服务的性能要求较高的部分功能、或Native平台迁移代码。针对这种场景,DevEco Studio提供了ArkTS/JS与C/C++语言的跨语言调试能力,能够在ArkTS或JS调用C/C++方法处,直接进入C/C++代码中的断点。

ArkTS/JS与C/C++跨语言调试功能,包括ArkTS/JS、C/C++断点的管理、调试信息的展示、单步调试等能力,方便开发者快速发现并解决跨语言调用相关代码的问题。

说明

ArkTS/JS与C/C++工程跨语言调试支持API Version 9。

ArkTS/JS与C/C++工程跨语言调试的操作方法如下:

  1. 将DevEco Studio与设备进行连接。如果使用真机设备,请先对应用/服务进行签名,具体请参考​​配置签名信息​​。
  2. 在菜单栏单击Run > Edit Configurations,选择OpenHarmony APP下的模块名(如entry),然后在右侧窗口中选择Debugger,将Debug type设置为“Dual(Js + Native)”或“Detect Automatically”。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

  1. 在ArkTS或JS代码调用C/C++方法代码行处设置断点。
  2. 单击


OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

按钮或使用快捷键Shift+F9,启动调试。

  1. 当调试到ArkTS或JS代码调用C/C++方法代码处进行中断。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区

  1. 使用Step Into进入到对应的C/C++方法的第一行代码处。然后便可以在C++代码中进行调试,包括:Step Over/Step Into/Step Out/Resume Program。

OpenHarmony DevEco Studio使用指南-应用/服务运行/服务调试-鸿蒙开发者社区




文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/ohos-arkts-js-native-cross-language-debugging-0000001434224061-V3​


分类
已于2023-4-4 14:08:25修改
收藏
回复
举报
回复
    相关推荐