集成式调试器是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——【无】显示一个子菜单,该子菜单包含有增加源代码、地址、数据或模块装入断点的菜单项。如下图:

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

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

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

    Delphi应用程序的调试(五)其他调试工具 Delphi7中提供了一些附加调试工具来帮助用户检查程序错误.从性能上讲,其中一些工具属于高级调试工具.尽管高级调试工具不像其他工具那样常用,但对于经验丰 ...

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

    Delphi应用程序的调试(二)使用断点 使用断点(Using Breakpoints) 当用户从Delphi IDE 运行程序时,程序全速运行,只会在设置了断点的地方停住. New Term 断点( ...

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

    可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局 ...

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

    可在两个级别上设置调试选项:工程级和环境级.在前面的讲解中讲解了工程级调试选项,通过主菜单[Project | Options…]打开如下对话框: 可在Debugger Options对话框中设置全局 ...

  5. Delphi应用程序的调试(六)步进式代码调试

    步进式代码调试(Stepping Through Your Code) 步进式代码调试是最基本的调试操作之一,但仍要在此讲述.人们常常容易犯只见树木不见森林的错误.经常复习基本的知识有助于读者了解以前 ...

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

    监视变量(Watching Variables) 当程序停在一个断点处时,用户做些什么呢?通常用户在断点处停下来是要检查变量的值,某个变量的值是否与预料的取值相同?或者某个变量取什么值(事先并不知道这 ...

  7. Delphi应用程序的调试(四)The Debug Inspector

    调试检查器(The Debug Inspector) Debug Inspector使用户能查看诸如类和记录的数据对象,也可以用它来查看整数.字符数组等简单数据类型,但这类简单数据类型最好是用Watc ...

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

    Delphi插件创建.调试与使用应用程序扩展 翻译 : MiracleZ  有没有使用过Adobe Photoshop?如果用过,你就会对插件的概念比较熟悉.对外行人来说,插件仅仅是从外部提供给应用程 ...

  9. Docker容器环境下ASP.NET Core Web API应用程序的调试

    本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...

随机推荐

  1. Python——os(二)文件对象

    本节介绍 os 模块创建 file 对象的函数 os.fdopen(fd[, mode[, bufsize]]) 用文件描述符打开文件,返回一个连接到 fd 的打开的文件对象,参数 mode 和 bu ...

  2. html常用对照表

    常用对照表:http://tool.oschina.net/commons

  3. UITableView:改变 TableHeaderView 的高度

    参考:http://stackoverflow.com/a/526825 有这么一种需求,在列表顶端显示一些别样的数据,而这个别样的数据则需要通过一个别样的 View 来展现,它便是 UITableV ...

  4. Mac下给SD卡烧录树莓派系统

    1.mac 磁盘工具 抹掉sd卡 为fat 2. df -h 看清sd卡号 3. 卸载sd卡 diskutil unmount /dev/disk2s2 Volume UNTITLED on disk ...

  5. 谈谈Android中的SurfaceTexture

    2015.7.2更新 由于很多人要代码,我把代码下载链接放在这里了.不过还是要说一下,surfaceTexture和OpenGL ES结合才能发挥出它最大的效果,我这种写法只是我自己的想法,还有很多种 ...

  6. Kafka配置说明

    Broker  Configs Property Default Description broker.id   每个broker都可以用一个唯一的非负整数id进行标识:这个id可以作为broker的 ...

  7. electron demo项目npm install安装失败解决办法

    electron官网提供的demo项目,在npm install 的时候总是报错显示安装失败, 解决办法:FQ即可成功安装.

  8. 点击除元素以外的任意地方隐藏元素js

    比如想实现点击列表弹出筛选器,点击其他任意地方关闭筛选器,如图 该筛选器class名 $(document).click(function () { $(".subMenu").h ...

  9. innodb分区

    当 MySQL的总记录数超过了100万后,性能会大幅下降,可以采用分区方案 分区允许根据指定的规则,跨文件系统分配单个表的多个部分.表的不同部分在不同的位置被存储为单独的表. 1.先看下innodb的 ...

  10. 让Zend Studio联系关系CakePHP模板文件.ctp

    让Zend Studio关联CakePHP模板文件.ctp Zend Studio是套强大的PHP编辑器,各种给力让PHP开发者爱不释手.对于CakePHP程序员来说,有件事情相当头疼,在初始安装好Z ...