delphi调试不包括system.pas

时间:2013-09-25 14:08:20

标签: delphi debugging assembly system

通过VCL进行调试时(必须启用调试dcus!),您经常(在某些情况下大多数情况下)会逐步执行汇编代码,特别是像“_IntfClear”这样的例程。

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

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

1 个答案:

答案 0 :(得分:7)

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

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

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

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