Debug调试界面
调试工具栏
- 进入调试模式后,会显示 Debug 工具栏,包含多个功能按钮:
- 复位按钮:类似于硬件复位,将程序重置到起始位置。
- 全速运行(Run):使程序持续运行直到遇到断点或结束。
- 单步调试(Step Into):逐条语句执行,遇到函数会进入函数内部(快捷键:F11)
- 单步跳过调试(Step Over):逐条语句执行,但不会进入函数内部,直接执行函数并跳到下一条语句。(快捷键:F10)
- 单步返回调试(Step Out):执行完当前函数的剩余部分并跳出函数。
- 运行到光标处(Step Run to Cursor Line):程序运行到光标所在行。(如果有断点,最后会移动到断点处)
- 设置/失能断点:在当前光标所在行设置或失能断
断点管理
- 可以在代码的特定行设置断点,以便程序在执行到该行时暂停。
- 断点可以通过点击行号旁的空白区域设置,或者使用快捷键
F9
进行切换。- 断点可以被使能或禁止,也可以删除所有断点
调试窗口
- 调试过程中,可以使用不同的窗口来观察程序状态:
寄存器窗口 (Register Window):观察 CPU 寄存器的变化,实时显示和编辑寄存器的当前值。
变量查看窗口 (Watch Window ):实时监测程序中变量的变化,允许查看和修改变量的值。
汇编语言窗口 (Disassembly Window):查看程序的汇编代码表示,包括对应的机器指令。
内存查看窗口 (Memory Window ):查看内存地址的数据,允许检查和编辑内存中的数据。
命令输出窗口 (Command Output Window):显示调试时的数据输出,包括调试器的命令执行结果和程序的输出信息。
相关概念补充
失能断点
- 失能断点(Disable Breakpoint)是调试过程中的一个功能,它允许开发者暂时使某个断点无效,而不是完全删除断点。这样做的好处是,你可以保留断点的位置和设置,但在某些情况下暂时不让它触发程序的暂停。
当断点被失能后,程序在执行到该位置时不会停止,而是继续运行。这在以下情况下非常有用:
- 多断点管理:如果你设置了多个断点,但只想在某些特定情况下触发其中一些断点,你可以暂时失能其他断点。
- 避免重复调试:在复杂的程序中,可能需要多次经过同一个断点,如果每次都停下来会非常耗时,失能断点可以避免这种情况。
- 条件触发:有时候你可能只在满足特定条件时才需要程序在某个位置暂停,失能断点可以让你在不需要时忽略它。