4

当通过 VCL 进行调试时(使用调试 dcus 必须打开!),您经常(在某些情况下大部分时间)单步执行汇编代码,尤其是像“_IntfClear”这样的例程。

(删除 System.pas 无济于事,因为随后会经常出现一个弹出窗口,询问 system.pas 所在的位置)

是否有机会将单元“系统”排除在调试之外?

4

1 回答 1

9

Delphi 包含的 DCU 文件位于Lib文件夹中。调试版本位于Lib/Debug文件夹中。“使用调试 DCU”选项所做的只是控制这两个文件夹中的哪一个出现在项目的库路径中,因此当您的程序被链接时,将包含一个或另一组 DCU 文件。

现在我们已经发现了“使用调试 DCU”选项的魔力,我们可以利用它。要从调试中排除某个 DCU,请启用“使用调试 DCU”,然后只需找到相关单元的调试版本并将其替换为非调试版本。例如,删除Lib/Debug/System.dcu并将其替换为Lib/System.dcu

或者,如果您想要跟踪一个 VCL 单元,但对调试不是您编写的代码不感兴趣,则禁用“使用调试 DCU”,然后找到该 DCU 的调试版本并将其放入非调试文件。

如果您不小心发现自己正在跟踪您不感兴趣的功能,您可以按Shift+F8以“退出”当前功能。最终,您将学会识别通常会导致您不想跟踪的呼叫的位置,然后您将按下F8“跳过”该代码而不是F7“进入”它。

于 2013-09-25T18:41:08.917 回答