如何在Delphi 7中禁用CPU窗口

15

在 Delphi 7 中单步调试程序时,有时会出现 CPU 窗口并跳转到相应指令。我认为这很烦人,因为我只想单步调试 Pascal 代码。

有人知道如何禁用这个 CPU 弹窗吗?

如果这个窗口永远不再显示,我也不会感到遗憾。

在我之前使用的 Delphi 5 中没有出现这种情况。通常我只使用“步过”按钮,只有想详细了解已使用的(Pascal)单元时才使用“步入”功能。

5个回答

11
在RAD studio 2009中,您可以转到工具->选项->调试器选项->Codegear调试器。在 通用 中,选择 忽略非用户断点

谢谢,这很有帮助。在同一个对话框中还有“调试生成的进程”。如果CPU调试器顶部显示“生成的进程”,那么您可以取消选中该选项。这就是我的问题所在。 - dan-gph
我遇到了一个问题,当我在调试时,CPU窗口会自动弹出,而且永远不会进入代码部分。重新启动IDE可以解决这个问题。 - SAMPro

7
Delphi默认情况下不会跳转到CPU窗口。所以你的问题的答案并不是不能做到。也许问题应该是:我做了什么导致了这个问题。
编辑: 从评论中我了解到,当你按下调试器中的暂停按钮时它会发生。 它停在你按下暂停时正在执行的精确位置上并不奇怪。 这很可能是一些Windows代码,而你没有源代码。 通过选择“运行->运行到下一个源行”或Shift-F7,你的程序将继续执行一段时间,直到它遇到一些有源代码的代码为止。
这是你问题的答案,但请记住,你可能会在一个永远无法到达下一个源代码行的地方中断。

我经常点击暂停按钮,结果立即进入CPU窗口 - 然后很难进行步骤以到达下一个“Pascal位”,因为它经常会通过无尽的CPU地址进行步骤。这就是我想要消失的东西。 - Johan Bresler
啊!但那不是问题所问的。我更新了我的答案,针对这种情况提供了解决方案。 - Lars Truijens

2

修改以下注册表键:

HKEY_CURRENT_USER/software/Borland/Delphi/6.0/Debugging/Integrated Debugging = 0

2

看起来我解决了它:将以下内容添加到注册表中: HKCU\Software\Borland|Delphi\7.0\Debugging: EnableCPU (stringvalue):0


它在我的电脑上无法正常工作 - 当我“暂停”时,它仍然会打断CPU窗口 - Johan Bresler
也许它对其他事情有帮助,所以我给你点赞。 - Johan Bresler

0

当当前单元没有调试信息时,您会陷入CPU窗口。

尝试启用Debug-DCU(在Project/Options.../Compiler中)。如果您还没有检查其他调试选项,请也激活它们。


那样做并不能解决问题。调试器经常会进入Windows代码。除非您也在运行启用了调试的Windows副本,否则无法获取有关此问题的调试信息。 - TomC
如果启用了Debug-DCU,您将首先跟踪Borland/CodeGear的Windows单元。然后,如果您进入API调用,则Delphi将弹出CPU窗口。只需跳过API调用即可。 - Roman Ganz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接