Delphi:Debugger跳转到CPU视图

时间:2018-03-20 10:00:40

标签: debugging delphi-10-seattle delphi

我使用Delphi 10 Seattle,我想调试一些软件包。结构类似于:主机VCL应用程序(用于调试目的,否则为Windows服务)和几个带有应用程序逻辑的BPL(一个主要BPL和一些其他模型和一些基础结构)。这些包被设置为运行时包。

现在我想调试一些问题,我想把sume断点和检查代码和变量值(不是非常奇特的要求)。这就是问题所在。主机应用程序运行正常,一切似乎都没问题 - 在加载应用程序期间,所有程序包的所有断点都从绿色变为蓝色(因此它的源已加载)并且应用程序启动。当任何断点被击中时,执行在此断点处停止,但视图会跳转到(对我来说无用)CPU视图。

CPU view

我相信(和GIT一样)自从上一个版本我能够调试以来,包括项目文件在内的主机源没有任何变化。

编辑:

另一个有趣的场景:

如果我创建一个空白的控制台应用程序,只有一个writeln并在其上放置一个断点,一切正常。如果我将我们的一个包添加为运行时包(即使没有在uses子句或其他任何内容中引用它),控制台应用程序中的断点也会以恼人的CPU视图结束...

1 个答案:

答案 0 :(得分:0)

好吧,仍然使用D2007并在运行时程序包上处理相同的问题。

使用EQUAL编译源(将它们安装在非依赖的HD上)时,以不同的操作系统(例如Win7和Win10 1803和Win 1809 HD)启动时:

Win 7:我得到显示的来源:D

Win 10:有时候,当我在主项目上进行更改时(添加感兴趣的软件包),我将获得显示的真实调试源。或添加到接口上的主项目中/使用运行时包的一个单元。

现在在其他Win 10操作系统上,相同的解决方法根本没有帮助。

我看到的问题是,调试器本身的程序包加载已优化,因此并非启动该程序包和单元中的所有单元。

我当前的Win 10解决方案如下:在主模块启动过程中,自己进行程序包加载和启动,并且没有任何单元使用情况或程序包加载列表!

必需的是在主项目和调试器中提供此程序包的源路径路径!