上一篇讲了 Debug 启动调试本文介绍另一种调试方式——Attach Debugger。它和 Debug 最大的区别是可以先运行应用再启动调试不需要从头跑。一、Attach Debugger 与 Debug 的区别可以通过将调试程序attach 到已运行的应用进行调试。核心区别方式说明Attach Debugger可以先运行应用/元服务然后再启动调试或者直接启动设备上已安装的应用/元服务进行调试Debug直接运行应用/元服务后立即启动调试简单理解Debug从头跑边跑边调Attach应用已经在跑了把调试器挂上去二、前提条件当前设备上被 attach 的应用代码和本地代码一致且已提前构建生成必要的 sourceMap 文件。说明代码不一致会导致断点错位、变量值对不上所以 attach 前务必确认本地代码和设备上运行的版本一致。场景说明本地无源码attach 不支持bundleName 不匹配将出现提示The selected process does not match the bundleName of the current project!但不阻塞调试过程三、操作步骤步骤一选择调试设备并启动 Attach在工具栏中选择调试的设备单击Attach Debugger to Process启动调试步骤二选择要调试的应用进程选择要调试的应用进程。说明若应用 bundleName 与当前工程不一致则需勾选Show all process。说明签名要求正常情况下attach 调试仅支持 debug 签名的应用。从DevEco Studio 6.0.2 Beta1 版本开始PC/2in1 上的应用如果使用了release 签名并且配置了ohos.permission.kernel.ALLOW_DEBUG权限也支持被 attach 调试。步骤三选择调试配置选择需要使用的调试配置或者使用默认配置。步骤四选择 Debug type选择需要调试的Debug type。若选择已创建的 Run/Debug configuration 进行 attach 调试此时 Debug type 不可改变只可在 Run/Debug configuration 界面修改。步骤五开始 attach 调试点击OK开始 attach 调试。选择进程界面字段说明字段说明Show all processes勾选后可显示所有进程包括 bundleName 不匹配的Debugger settings from调试器设置来源Application应用如entryDebug type调试类型如Detect Automatically进程列表如com.example.myTest
阅读完成 · 觉得有帮助?