Delphi应用程序的调试(一)

集成式调试器是Delphi IDE的一个重要特性。该调试器使用户能方便地设置断点、监视变量、检查对象等等。在运行程序时,使用该调试器能快速查找出程序发生了什么(或未发生什么)。一个号的调试器对程序开发的效率至关重要。

调试工作容易被忽略。我也是刚开始学习Windows编程时,很长时间都未理睬调试器,因为当时忙于学习如何编写Windows应用程序。当后来知道这是一个很有价值的调试器的后,才后悔为什么没有早点使用它。希望大家从我的经历中吸取教训。

一、为什么使用调试器

对于这个问题的回答很简单:调试器能帮助用户查找程序中的错误。

但是,调试过程不仅仅是查找错误,它还是一个开发工具。尽管调试很重要,但仍有很多程序员不愿花时间来学习如何使用IDE调试器的各种性能。结果,他们付出了更多的时间和精力,更不用提由于查不出程序中的错误而导致的失败。

可在调试器下启动程序,开始调试,也可按【F9】自动地使用调试器。

二、调试器菜单项

在详细介绍调试器之前,先来看看有关调试器的菜单项目。其中一些菜单项在主菜单的【Run】下,另一些在Code Editor的快捷菜单上。

1、Code Editor快捷菜单中的调试菜单项

  • 【Toggle Breakpoint】快捷键【F5】在Code Editor中的当前行上设置或关闭一个断点
  • 【Run to Cursor】快捷键【F4】启动程序并运行该程序至Code Editor中光标所在行
  • 【Goto Address…】快捷键【Ctrl + Alt + G】允许用户指定程序中的一个地址,程序在此地址恢复执行
  • 【Inspect…】快捷键【Alt + F5】为光标所在对象打开Debug Inspect窗口
  • 【Evaluate/Modify…】快捷键【Ctrl + F7】允许用户在运行时查看、修改变量
  • 【Add Watch at Cursor】快捷键【Ctrl + F5】将光标所指变量添加到Watch List中
  • 【View CPU】快捷键【Ctrl + Alt + C】显示CPU窗口

主菜单上【Run】菜单项是一个下拉菜单,有若干菜单项与调试器下运行程序有关。Run菜单项使用户能在调试器下启动一个程序、终止运行在调试器下的程序、命名若干个函数。其中有些菜单项与Code Editor中的菜单项目一样。

2、主菜单【Run】下的菜单项目

  • Run——【F9】编译程序并在IDE调试器控制下运行该程序。
  • Parameters——【无】允许用户为程序输入命令行参数并在调试DLL时指定一个宿主应用程序(host application)。
  • Step Over——【F8】执行执行点所在的源代码行,并停在下一个源代码行。
  • Trace Into——【F7】跟踪执行点处的方法。
  • Trace to Next Source Line——【Shift + F7】移动执行点到程序源代码的下一行。
  • Run to Cursor——【F4】运行程序,并且当程序执行到源代码当前行时暂停。
  • Show Execution Point——【无】在Code Editor中显示程序执行点。如果需要可滚动源代码窗口,仅当程序暂停执行时可用。
  • Program Pause——【无】执行点一进入程序源代码就暂停程序执行。
  • Program Reset——【Ctrl + F2】无条件终止程序并返回Delphi IDE。
  • Inspect…——【无】显示Inspect对话框,因而用户可输入要检查对象的对象名。
  • Evaluate/Modify…——【Ctrl + F7】显示“Evaluate/Modify”对话框。
  • Add Watch…——【Ctrl + F5】显示“Watch Properties”对话框。
  • Add Breakpoint——【无】显示一个子菜单,该子菜单包含有增加源代码、地址、数据或模块装入断点的菜单项。如下图:

以上这些菜单项在调试应用程序时经常要使用,这些调试操作的键盘快捷键也应该熟悉。

原文地址:https://www.cnblogs.com/m0488/p/9533397.html

时间: 2024-08-29 05:20:18

Delphi应用程序的调试(一)的相关文章

Delphi应用程序的调试

Delphi应用程序的调试(一) Delphi应用程序的调试(二)使用断点 Delphi应用程序的调试(三)监视变量 Delphi应用程序的调试(四)The Debug Inspector Delphi应用程序的调试(五)其他调试工具 Delphi应用程序的调试(六)步进式代码调试 Delphi应用程序的调试(七)调试DLL Delphi应用程序的调试(八)事件日志窗口和模块窗口 Delphi应用程序的调试(九)调试技术 Delphi应用程序的调试(十)调试器选项

Delphi应用程序的调试(五)其他调试工具

Delphi应用程序的调试(五)其他调试工具 Delphi7中提供了一些附加调试工具来帮助用户检查程序错误.从性能上讲,其中一些工具属于高级调试工具.尽管高级调试工具不像其他工具那样常用,但对于经验丰富的编程人员来说,它们是非常有用的. Evaluate/Modify对话框(The Evaluate/Modify Dialog Box) 该对话框用于检查变量的当前值和修改变量的值.使用这个对话框,用户可以修改某个变量的值来测试不同的输出结果.在调试期间改变一个变量的值,使用户能测试程序不同参数的

Delphi应用程序的调试(二)使用断点

Delphi应用程序的调试(二)使用断点 使用断点(Using Breakpoints) 当用户从Delphi IDE 运行程序时,程序全速运行,只会在设置了断点的地方停住. New Term 断点(breakpoint)是一种标记,用以通知编译器,当程序运行到断点所在位置时暂停程序的执行. 设置和清除断点(Setting and Clearing Breakpoints) 断点的设置可通过点击Code Editor的沟槽来进行:要在代码的某一行暂停程序执行,就在沟槽中与该行相对应的位置上点击鼠

Delphi应用程序的调试(十)调试器选项(在IDE中不要使用异常)

可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局级调试选项.从主菜单[Tools | Debugger Options]菜单项调出Debugger Options对话框. 在Debugger Options对话框的底部有一个标记为Integrated debugging的复选框,它控制是否使用IDE调试器调试程序.如果选中Integrated d

Delphi应用程序的调试(十)调试器选项

可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局级调试选项.从主菜单[Tools | Debugger Options]菜单项调出Debugger Options对话框. 在Debugger Options对话框的底部有一个标记为Integrated debugging的复选框,它控制是否使用IDE调试器调试程序.如果选中Integrated d

Delphi应用程序的调试(三)监视变量

监视变量(Watching Variables) 当程序停在一个断点处时,用户做些什么呢?通常用户在断点处停下来是要检查变量的值,某个变量的值是否与预料的取值相同?或者某个变量取什么值(事先并不知道这个变量的取值). Watch List窗口的作用是使用户能检查变量的值.编程人员常常忽视这个简单而又根本的特性,因为他们没有花时间来完整地学习调试器的使用.用户可添加任意多的变量到Watch List中.下图就是调试会话期间的Watch List窗口. 变量名和变量值都显示在Watch List中.

Delphi插件创建、调试与使用应用程序扩展

Delphi插件创建.调试与使用应用程序扩展 翻译 : MiracleZ  有没有使用过Adobe Photoshop?如果用过,你就会对插件的概念比较熟悉.对外行人来说,插件仅仅是从外部提供给应用程序的代码块而已(举个例子来说,在一个DLL中).一个插件和一个普通DLL之间的差异在于插件具有扩展父应用程序功能的能力.例如,Photoshop本身并不具备进行大量的图像处理功能.插件的加入使其获得了产生诸如模糊.斑点,以及其他所有风格的奇怪效果,而其中任何一项功能都不是父应用程序自身所具有的.对于

delphi服务程序(service)的调试方法

delphi服务程序(service)的调试方法         delphi service 调试 方法一: 1.调试delphi 写的服务程序,有这么一个办法.原来每次都是用attach to process方法,很麻烦.并且按照服务线程的执行线路,可能会停不到想要的断点.笨办法是,在procedure TsvcFrm.ServiceExecute(Sender: TService);中想要下断的语句前加个人定胜天的sleep(20000),但实际上这种办法是主观臆测的.可行,没问题.记得大

gdb动态挂运行程序并调试

/* * gdb动态挂运行程序并调试 * 编译程序: * gcc gdb_attach2.c -o gdb_attach2 -g * * 运行程序: * ./gdb_attach2 * * 查看程序进程代号: * ps ax | grep gdb_attach2 * 3973 pts/0 S+ 0:00 ./gdb_attach2 * * 启用gdb挂载程序: * gdb gdb_attach2 3973 * * 在目标位置设置断点 * b gdb_attach2.c:44 * Breakpoi