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

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

可在Debugger Options对话框中设置全局级调试选项。从主菜单【Tools | Debugger Options】菜单项调出Debugger Options对话框。

在Debugger Options对话框的底部有一个标记为Integrated debugging的复选框,它控制是否使用IDE调试器调试程序。如果选中Integrated debugging复选框,则使用IDE调试器;如果不选中这个选项,则不使用IDE调试器;这意味着当用户点击Run按钮时,程序会执行,但调试器失效,因此所有断点均不起作用。

调试器选项对话框有四个页面:General,Event Log, Language Exceptions,OS Exceptions。下面将分别介绍:

1、通用(General)页面

General页面是用户设置通用调试选项的地方,如下图:

【Map TD32 keystrokes on run选项】告诉Code Editor使用Turbo Debugger中使用的键击映射(Turbo Debugger是Borland公司的一个单独调试器)。如果用户长期使用Turbo Debugger,并且对它的键映射很熟悉,那么该选项不失为一个好工具。

当程序在调试器下运行时,【Mark buffers read-only on run选项】将Code Editor缓冲区设置成只读缓冲区。这样,在调试器下启动程序后,就不能再编辑源代码,直至程序终止运行。如果要在调试器期间修改源代码,则要将此选项关闭。

【Inspector stay on top选项】控制着Debug Inspector窗口是否总位于Code Editor的上面。这时一个好特性,因为当用户步进式调试代码时,多数时候都希望Debug Inspector窗口在Code Editor的上面。

当程序运行在调试器下面时,【Rearrange editor local menu on run选项】改变Code Editor快捷菜单的外观。选中此选项,Code Editor菜单中调试专用菜单项移到菜单顶部,以方便用户选用。

不选中状态菜单

选中状态的菜单

2、事件日志(Event log)页面

Event Log页面用于设置Event Log选项。可以选择一个数来限制同一时间Event Log中可出现的消息条数,也可以不作限制。还可以在Event Log中选择想看的消息的类型。

3、语言异常(Language Exceptions)页面

此页面用于控制调试器碰到的VCL异常的类型。本页面上最重要的选项是【Stop on Delphi Exceptions选项】。当选中此选项时,如果出现异常,调试器就会暂停程序执行。当关闭此选项时,调试器就以普通方式处理VCL异常,即弹出一个消息框通知用户程序所出现的错误。

Note

当选中【Stop on Delphi Exceptions选项】时,调试器碰到异常就会暂停,不管用户程序中是否对该异常做了处理。如果不希望调试器每碰到一个异常都停止,就关闭此选项。这个选项相当于老版本Delphi中的【Break on exception选项】。

【Exception Types to Ignore选项】用于指定被调试器忽略的异常事件的类型。在本表中列出的所有异常事件类型都被调试器忽略,并以缺省方式处理。这与关闭【Stop on Delphi Exceptions选项】的效果一样。

要往表中增加异常事件类型,点击Add…按钮并输入异常事件类型名称。例如,要通知调试器忽略“被0除”异常事件,可点击Add按钮,并在Exception Type字段输入EDivByZero。如下图:

添加到该列表中的异常事件类型适用于所有工程。

4、OS(操作系统)异常页面

该页面控制调试器或用户程序是否处理操作系统异常事件。如下图:

当【Handled by选项】设为User program时,碰到异常事件,调试器就中断程序执行。当这个选项被设为Debugger时,以普通方式处理VCL异常,即弹出一个消息框通知用户程序中发生的错误。

Note

当把【Handled by选项】设置成Debugger时,调试器一碰到异常事件就会中断程序运行,不管用户程序是否对异常事件做了处理。如果不希望调试器每碰到一个异常事件就中断,则要将此选项设为User Program。这个选项相当于老版本Delphi中的【Break on exception选项】。

【On resume】选项确定当重新恢复程序执行后,如何处理异常事件。

Exceptions列表框中列出了可能的操作系统异常事件。要为某个类型设定选项,点击Exceptions列表中该异常事件类型,然后按要求设定Handled by和On resume选项。Exceptions列表框左边缘的符号指示异常处理和恢复执行设定。如下图:

小结

调试程序是一项无休止的任务。调试程序不单单是指查程序中的故障。精明老练的程序员在开始创建新工程时就开始学习使用调试器。调试器既是开发工具又是查找故障的工具。大家还要多花时间实际使用调试器,才能精通它。就从现在开始吧。

参考:http://www.cnblogs.com/pchmonster/archive/2012/06/02/2531887.html

时间: 2024-10-09 07:52:11

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

在 NetBeans IDE 中调试 PHP 源代码

目录 准备工作 如何在 NetBeans IDE 中使用 XDebug 进行 PHP 调试 调试选项 使用工具栏和编辑器 调试器窗口 调试会话 样例调试会话 使用其他监视 PHP 和 HTML 混合用例 路径映射.调试器代理以及在定制 URL 上启动调试会话 要学习本教程,您需要具备以下软件和资源. 软件或资源 要求的版本 NetBeans IDE PHP 下载包 PHP 引擎 版本 5 Web 服务器 推荐使用 Apache HTTP Server 2.2. PHP 调试器 XDebug 2.

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

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

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的沟槽来进行:要在代码的某一行暂停程序执行,就在沟槽中与该行相对应的位置上点击鼠

【转】WinDbg调试器:启动程序时自动连接调试器方法

当我们调试服务进程或子进程时,无法直接用调试加载进程的方式启动,此时需要在启动程序时自动连接调试器方法: 第一步:注册表展开到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options路径下: 第二步:在Image File Execution Options上鼠标右键,新建"项",项名为你要调试的程序,比如 test.exe: 第三步:在项名上,右键,新建字符

Python 程序如何高效地调试?

作者:Rui L链接:https://www.zhihu.com/question/21572891/answer/26046582来源:知乎著作权归作者所有,转载请联系作者获得授权. 这个要怒答一发.应该用过 IPython 吧?想象一下,抛出异常时自动把你带到 IPython Shell 是不是很开心?而且和普通的IPython不同,这个时候可以调用 p (print), up(up stack), down(down stack) 之类的命令.还能创建临时变量,执行任意函数. 事实上这是可

Unity3D部署windows store程序到Surface进行调试

Unity3D如果开发Windows Store的游戏,一般需要真机或者模拟器来调试,本文主要讲解下如何把程序发布到Surface真机上进行调试. 首先第一步肯定是要在Unity3D中将项目build出来: 那么接下来就要依靠Visual Studio 2013来帮助我们调试Windows Store的程序了. Visual Studio 2013虽然集成了一个Windows 8.1的模拟器,但是很多应用需要用到真机,甚至是Surface这种移动设备(比如指南针.加速器等的需要) 笔者刚遇到本问

若要调试此模块,请将其项目生成配置更改为“调试”模式。若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项

在VS调试的时候出现如下错误: [plain] view plain copy print? 生成下面的模块时,启用了优化或没有调试信息: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\...\*.DLL 若要调试此模块,请将其项目生成配置更改为“调试”模式.若要取消显示此消息,请禁用“启动时若没有用户代码则发出警告”调试器选项. 问题1: 1.右击“解决方案”选择“配置管理器”,将"release”改