DevEco Studio:Debug界面按钮作用

一、Debug界面的三个Tab

Tab页 用途
entry 通常用于展示推包安装过程
entry(PandaDebugger) 调试器,用于调试 Debugger 功能
entry(Native) 调试器,仅在涉及 Native 调试时才会拉起

第二个和第三个 Tab 页才是真正的调试器,其中 entry(Native) 只在 Native 调试场景出现。

二、调试器的两个窗格

调试器包含两个窗格:Debugger 和 Console。

Debugger 窗格

区域 说明
左侧区域 Frames 当应用调试到某个断点时,Frames 区会显示当前代码所引用的代码位置
右侧区域 Variables 用于展示当前变量

Console 窗格

Console 窗格用于展示已加载的 ets、js 或 so。

三、调试器按钮

按钮名称 快捷键 功能
Resume Program F9 (macOS 为 Option+Command+R) 当程序执行到断点时停止执行,单击此按钮程序继续执行
Step Over F8 (macOS 为 F8) 单步调试时,直接前进到下一行(如果存在子函数,不会进入子函数内单步执行,而是将整个子函数当作一步执行)
Step Into F7 (macOS 为 F7) 单步调试时,遇到子函数后,进入子函数并继续单步执行
Smart Step Into Shift+F7 (macOS 为 Shift+F7) 代码行存在多个函数嵌套或调用 时,可智能步入选择想进入的方法
Step Out Shift+F8 (macOS 为 Shift+F8) 单步调试执行到子函数内时,单击会执行完子函数剩余部分,并跳出返回到上一层函数
Stop Ctrl+F2 (macOS 为 Command+F2) 停止调试任务
Run To Cursor Alt+F9 (macOS 为 Option+F9) 断点执行到鼠标停留处
JSVM Debug Port 无 转发 JSVM 调试的端口,转发后可在浏览器 DevTools 上进行 JSVM-API 调试。 说明:仅 Native 调试器中支持该按钮

说明:

1. Resume Program

点击 Resume Program 图标:

  • 如果存在断点:命中下一个断点,并展示对应的 Frames 和 Variables 信息

  • 如果不存在断点 :设备上的应用正常运行,Frames 和 Variables 信息会消失

2. Pause Program

点击 Pause Program 图标:

  • 当有对应源代码时,应用会暂停

3. Step Over

点击 Step Over:当前代码执行到下一行代码。

4. Step Into

点击 Step Into:当前代码进入到方法内部。

5. Step Out

点击 Step Out:代码会从方法内部回到调用处。

6. Run to Cursor

点击 Run to Cursor:代码停留在鼠标停留处。

7. JSVM Debug Port

点击 JSVM Debug Port:

  1. 弹出输入转发端口的面板

  2. 输入端口并点击 OK 后会开始转发

  3. 转发成功后会有弹窗提示

  4. 根据提示对 JS 代码进行调试

版本要求 :该功能从 DevEco Studio 5.1.0 Release 版本开始支持。

其他

用途 按钮 快捷键
继续执行 Resume Program F9
暂停 Pause Program ---
单步(不进子函数) Step Over F8
单步(进子函数) Step Into F7
智能选择进入 Smart Step Into Shift+F7
跳出子函数 Step Out Shift+F8
停止调试 Stop Ctrl+F2
运行到光标处 Run To Cursor Alt+F9
JSVM 端口转发 JSVM Debug Port ---
  1. Smart Step Into 解决"嵌套调用选哪个"的问题 :比如一行里有 a(b(c())),想进 b 还是 c,用这个按钮可以选,比 Step Into 更灵活。

  2. Resume Program 有断点就跳下一个,没断点就放开执行 :注意没有断点时 Frames 和 Variables 会消失,别以为调试断了。

  3. Resume Program 有断点就跳下一个,没断点就放开执行 :注意没有断点时 Frames 和 Variables 会消失,别以为调试断了。

  4. Run To Cursor 很实用 :把光标放在目标行,点这个按钮,直接跑到光标处,比一步步 Step Over 快得多,适合跳过大量无关代码。

  5. Stop 是停止整个调试任务 :和 Pause 不同,Stop 会结束调试会话,Pause 只是暂停应用执行。

如果调试时发现 Frames 是空的,通常是没命中断点 或调试已停止,先检查断点是否生效、调试会话是否还在运行。

相关推荐
OH_TPC1 天前
HarmonyOS APP开发---“旅图“旅行摄影社区App,需要用到这个库
华为·harmonyos·鸿蒙
●VON1 天前
芯谱:面向 HarmonyOS PC 的 SPICE 电路仿真工作台
华为·鸿蒙·harmony·鸿蒙pc
贾伟康1 天前
【共创稿事节】收藏、历史、已做:用户行为数据的三层流转设计
鸿蒙
●VON1 天前
芯逻辑:面向 HarmonyOS PC 的图形化编程工作台
华为·harmonyos·鸿蒙·鸿蒙pc
行者-全栈开发2 天前
【共创稿事节】HarmonyOS 三方库工程化集成:从 ohpm 引入到三方库鸿蒙化的完整闭环
harmonyos·鸿蒙·har·三方库·ohpm·框架适配
贾伟康2 天前
【共创稿事节】一个 UserDataManager 管八类数据:Preferences 持久化的克制用法
java·服务器·前端·harmonyos·arkts·鸿蒙
万物智能信息科技2 天前
六轴传感器Motion驱动框架开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
驱动开发·华为·开源·harmonyos·鸿蒙
熊猫钓鱼>_>2 天前
端侧 NPU 轻量大模型推理接入笔记【鸿蒙心迹】
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙
OH_TPC2 天前
【鸿蒙优选三方库】@ohos/ijkplayer:B 站同源播放器,啥格式都能播
华为·harmonyos·鸿蒙