应用是否支持调试,根据app.json5的debug字段和build-profile.json5的debuggable字段综合判断,app.json5的优先级高于build-profile.json5。
点击Run > Edit Configurations > Debugger,选择相应模块,设置Debug type即可。

调试类型 | 调试代码 |
|---|---|
Detect Automatically | 新建工程默认调试器选项。根据工程模块及其依赖的模块涉及的编程语言,自动启动对应的调试器。 |
ArkTS/JS |
|
Native | 仅调试C/C++代码 |
Dual(ArkTS/JS + Native) | 调试C/C++工程的ArkTS/JS和C/C++代码 |
在调试阶段,HAP在设备上的安装方式有2种,可以根据实际需要进行设置。
从DevEco Studio 4.1 Canary2版本开始,支持当代码无变化时,不进行推包安装。即根据模块有无变化来判断是否重新推送安装模块包,在运行调试时仅将有变化的模块及依赖它的模块重新推送安装至设备上。如entry依赖了HSP模块,当HSP模块有变化,运行调试时将同时推送安装HSP模块和entry模块。
设置方法如下:
单击Run > Edit Configurations,设置指定模块的HAP安装方式,勾选Keep Application Data,则表示采用覆盖安装方式,保留应用/元服务缓存数据。

如果未进行自定义,将按默认配置安装和运行应用。如果开发者需要对应用安装、运行等流程增加参数配置,可在“Installation Options”和“Launch Options”下进行配置。



您可以在工程中添加UIAbility或ExtensionAbility,详细请查看UIAbility开发指导或ExtensionAbility开发指导。

如果开发者需要配置和管理应用开发环境,以及控制应用程序的行为,可在Environment Variables下配置环境变量。

点击
按钮,新增一行配置项。当前支持以下配置项:
当配置Environment Variables后,“Keep Application Data”覆盖安装不生效。
环境变量配置完成后,需确保环境变量已勾选,勾选后点击Apply才可生效。

当应用中含有需要调试的WebView组件页面时,可以通过浏览器的DevTools工具进行页面调试,具体可参考使用DevTools工具调试前端页面。调试WebView组件需要执行转发端口等繁琐的命令行操作,因此可以在DevEco Studio中勾选Auto WebView Debug,该操作会在应用启动后两分钟内自动监听可调试的WebView进程并完成端口转发。
该功能从DevEco Studio 5.0.5 Release版本开始支持。
设置方法如下:
单击Run > Edit Configurations,在General中,勾选Auto WebView Debug。

开启后,当检测到设备上有可调试的WebView组件进程时,会在Run面板中打印转发成功的端口,通过浏览器的DevTools工具连接该端口即可进行WebView调试。

如果一个工程中同一个设备存在多个模块(如存在entry和feature模块),且存在模块间的调用时,在调试阶段需要同时安装多个模块的Hap包到设备中。此时,需要在Deploy Multi Hap/Hsp中选择多个模块,启动调试时,DevEco Studio会将所有的模块都安装到设备上。
设置方法如下:
单击Run > Edit Configurations,在Deploy Multi Hap/Hsp中,勾选Deploy Multi Hap/Hsp Packages,选择多个模块。

如果一个工程中entry/feature/HSP模块直接依赖其他HAR/HSP模块(如entry模块依赖HSP模块)及间接依赖其他模块(如entry模块依赖HAR模块,HAR又依赖HSP模块)时,在调试阶段需要同时安装模块包及其所有依赖模块的包到设备中。此时,可以设置Auto Dependencies,启动调试时会自动将所有依赖的模块都安装到设备上。
设置方法如下:
单击Run > Edit Configurations,在General中,勾选Auto Dependencies。

在Before launch窗格中,您可以点击
添加应用启动前的任务。

也可以点击
移除任务。

在勾选Auto Dependencies后,可以同时勾选Deploy Multi Hap/Hsp Packages,从而达到推送所有包的效果。