Delphi编程入门(123):程序调试全攻略之断点(上)
本篇主要内容如下:
设置源码断点(Source Breakpoint)
设置地址断点(Address Breakpoint)
设置数据断点(Data Breakpoint)
设置模块加载断点(Module Load Breakpoint)
断点持久化:跨会话保存
修改断点属性
创建断点组
启用/禁用断点或断点组
设置条件断点
为特定线程设置断点
为断点关联动作(Actions)
自定义断点与执行点颜色
其他设置断点的位置
断点持久化:跨会话保存
默认情况下,关闭项目后断点会丢失。若希望断点在下次打开项目时依然存在,请启用自动保存桌面功能:
- 勾选 “自动保存项目桌面(Autosave Project desktop)”;
- 退出时,IDE 会将布局、断点、打开文件等保存为
.dsk 文件;
🗑️ 若不再需要这些设置,手动删除项目目录下的 .dsk 文件即可。
修改断点属性
- 打开 断点列表窗口(View > Debug Windows > Breakpoints);
- 右键目标断点,选择 “断点属性(Breakpoint Properties)”;
创建断点组
将多个断点归入同一组,便于统一启用/禁用或管理:
- 在断点属性对话框的 Group 字段输入新组名,或从下拉列表选择已有组;
启用/禁用断点或断点组
- 单个断点:
- 全部断点:在断点列表空白处右键 → 启用全部 / 禁用全部;
- 指定分组:右键空白处 → 启用组 / 禁用组。
⚙️ 快捷键提示:在代码行按 F5 也可切换断点启用状态。
📌 禁用断点不会删除它,仅暂时使其失效,方便后续重新启用。
设置条件断点
如果我们只关心特定场景(如变量值为负、标志位被置位等)时,条件断点非常有用:
- 在 Condition 字段输入表达式(如
i > 100 或 Status = tsError); - 仅当表达式结果为
True(非零)时,程序才会暂停。
为特定线程设置断点
在多线程程序中,可限制断点仅在某个线程中触发:
- 添加断点时,在 Thread 字段输入线程编号或名称;
为断点关联动作(Actions)
除了暂停程序,断点还可自动执行操作:
- Evaluate expression:计算表达式;
- Log result to Event Log:将结果写入事件日志;
这样无需手动干预,即可自动记录关键信息。
自定义断点与执行点颜色
可修改代码编辑器中断点和当前执行行的高亮颜色:
其他设置断点的位置
除代码编辑器外,还可以在以下窗口中设置断点:
- CPU 窗口 / 反汇编视图(Disassembly)
通过灵活运用这些断点功能,您可以大幅提升调试效率,快速定位复杂问题。善用条件、分组、动作等高级特性,让调试从“被动排查”变为“主动监控”。