Delphi:如何从调试器中排除单元?

前端之家收集整理的这篇文章主要介绍了Delphi:如何从调试器中排除单元?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有时我正在逐步调试,就在FormCreate事件之前或者在FromDestroy之后调试器开始打开DevExpress单元(cxContainer.pas,…)之前,所以在FormCreate之前我的“F8”会引导我转向cxContainer而不是进入我的代码的下一行.

(这只是一个例子,它当然可以发生在任何第三方库中)

如何告诉调试器“仅调试我的单元”(只有dpr文件中列出的pas文件?)

当然,有时调试库很有用,但在大多数情况下并非如此.

解决方法

您最好遵循第三方组件的VCL约定:

>将所有第三方软件包中的DCU输出路径更改为与存储PAS文件文件夹不同的文件夹.
>在调试模式下编译每个包一次,并将生成的DCU文件保存在文件夹中(例如,调试DCU).
>再次编译每个包,但这次是在发布模式下,并将生成的DCU文件保存在文件夹(例如Release DCU)中.
>转到Delphi选项并将释放DCU的路径添加到“库路径”.
>在Delphi选项中,将源文件的路径添加到“浏览路径”.
>在Delphi选项中,将调试DCU的路径添加到“Debug DCU path”.

这样,Delphi只会在编译项目时看到该第三方组件的发布DCU,因此调试器无法进入源代码.
另一方面,由于源路径包含在“浏览路径”中,您仍然可以通过Ctrl单击单元名称或在这些单元中定义的任何内容导航到IDE内的源代码.

如果要调试组件,可以转到“Project | Options | Delphi Compiler | Compiling”,并启用“Use debug .dcus”.这将迫使编译器使用“Debug DCU path”而不是“Library path”.

VCL的工作原理相同,通常在调试项目时不会进入VCL源代码,但如果启用“使用调试.dcus”,则也可以调试VCL源代码.

JVCL也以相同的方式组织其包和源代码.

编辑:如果你采取这种方法,并希望有代码浏览(Ctrl Click)工作;请注意,在编译软件包的发行版时,必须在“Project | Options | Delphi Compiler | Compiling”中将Symbol Reference Info设置为“Reference Info”;否则,Ctrl Click将不适用于这些单位.默认情况下,发布构建配置将符号引用信息设置为无.

原文链接:https://www.f2er.com/delphi/101657.html

猜你在找的Delphi相关文章