本文为大家介绍delphi调查(delphi单步调试),下面和小编一起看看详细内容吧。

转到Delphi 主题

Delphi7中提供了一些附加的调试工具来帮助用户检查程序错误。就性能而言,其中一些工具是高级调试工具。尽管高级调试工具不像其他工具那样常用,但它们对于经验丰富的程序员来说非常有用。

Evaluate/Modify对话框(The Evaluate/Modify Dialog Box)

该对话框用于检查变量的当前值和修改变量的值。使用此对话框,用户可以修改变量的值以测试不同的输出结果。在调试过程中更改变量的值使用户能够测试不同参数对程序的影响,而不必每次都重新编译。主菜单[运行|评估/修改]如下图或按[Ctrl + F7]

笔记

该对话框的工具栏可以显示大图标和小图标。如果想要切换大小图标,用鼠标拖动工具栏底部的线条,该工具就会在大小图标之间进行调整。

评估/修改对话框,类似于监视列表和调试检查器。如果单击代码中的变量并从代码编辑器的快捷菜单中选择[评估/修改]菜单项,将自动评估该变量。您也可以手动输入要评估的变量,选择[运行|主菜单中的Evaluate/Modify]菜单项,然后输入要赋值的变量名称。

表达式字段用于输入要计算的变量名称或表达式。单击“Evaluate”按钮或按Enter 键,将计算表达式或变量。结果显示在“结果”字段中。如下所示:

笔记

评估/修改对话框可以用作简单的计算器。您可以输入包含十六进制数字(或十进制数字,或两者)的数学公式,然后让计算器计算结果。例如如下所示:

您还可以在“表达式”中输入逻辑表达式,结果将显示“True”。如下所示:

程序必须在断点处停止才能使用“评估/修改”对话框。

如果用户想要更改变量的值,可以在“新值”字段中输入新值,然后单击“修改”按钮,该变量将成为新输入的值。当用户单击“运行”按钮重新启动启动程序(或继续单步调试)时,将使用新值。

笔记

与监视列表和调试检查器不同,当用户逐行执行代码时,评估/修改对话框不会自动更新。如果代码更改了“评估/修改”对话框中变量的值,则必须再次单击“评估”按钮才能查看更改后的值。这为“评估/修改”对话框提供了一个优势:单步执行代码的速度更快,因为调试器不必在每次执行一行代码时都评估表达式。您可以交互地使用此对话框来计算变量或表达式,并在计算后立即关闭对话框。

调用栈窗口(The Call Stack Window)

在程序运行阶段,用户可以通过查看调用堆栈来检查应用程序调用的函数或过程。选择[查看|调试窗口|从主菜单中选择“Call Stack”菜单项,显示“Call Stack”窗口,其中列出了应用程序调用的函数和过程,并按调用顺序排列,最近调用的函数或过程列在窗口顶部。

双击“调用堆栈”窗口中的方法名称,将显示该方法的代码行(如果该方法在应用程序中);当函数或过程的代码不存在时(VCL方法),Call Stack窗口将显示模块名称和地址。双击没有源代码的函数和程序将显示CPU窗口。

当遇到Windows Access Violation错误时,查看调用堆栈非常有帮助。通过查看调用堆栈,用户可以找出程序中哪里发生了错误;找到程序中的错误位置是排除故障的第一步。

Tip

如果调用堆栈列表包含无意义的信息,则可能是调用堆栈已损坏。损坏的调用堆栈通常表示堆栈溢出或内存覆盖。

CPU 窗口(CPU 窗口)

CPU窗口可以从主菜单[查看|查看]中显示。调试窗口| CPU] 菜单项或按[Ctrl + Alt + C]。

CPU 窗口使用户能够查看汇编指令级别的应用程序。可以执行汇编指令并暂停;您还可以将程序运行到某个汇编指令(就像使用常规调试器将程序运行到源代码的某一行一样)。 CPU窗口分为五个窗格:反汇编窗格(Disassemble pane)、寄存器窗格(CPU Registers pane)、标志窗格(Flags pane)、原始堆栈窗格(Machine Stack pane)和转储窗格(Memory Dump pane)。

每个小窗格都有一个快捷菜单,提供使用该窗格所需的功能。要有效地使用CPU窗口,您必须了解汇编语言。显然,CPU窗口是一个高级的调试工具。

Go to Address命令(The Go to Address Command)

Go to Address 命令也是一种高级调试工具。当应用程序失败时,Windows 会显示一条错误消息,给出违规的地址。用户可以使用“转到地址”命令来查找程序中发生故障的位置。当Windows 发出访问冲突错误消息时,它会显示类似于下图的错误。

当用户看到这样的错误消息时,记下发生违规的地址,然后选择[调试|代码编辑器快捷菜单中的“转到地址”菜单项可显示“转到地址”对话框。

将记下的地址输入到“转到地址”对话框的“地址”字段中。单击“确定”,调试器开始查找失败的源代码行。如果错误在代码中,则光标指向产生错误的源代码行。如果故障发生在代码之外,则会弹出一个消息框,告诉用户在代码中未找到该地址。这是一个高级的调试工具,用户可能还没有使用过。

好了,delphi调查(delphi单步调试)的介绍到这里就结束了,想知道更多相关资料可以收藏我们的网站。