每当我重新构建应用程序并尝试进入断点时,CPU窗口总是出现。据我所知,当DCU与源文件不匹配时,CPU窗口会出现,然而,在我的情况下,DCU肯定会被重新编译,并且没有旧的DCU或类似的东西。
奇怪的是,如果我关闭应用程序并重新打开项目,放置断点并运行它,它会正常工作。我甚至可以修改文件,只需按F9就可以运行项目,它工作得很好....似乎只有当我重建项目时(通过IDE项目菜单或项目上下文菜单),这个CPU窗口才不会闯入源代码(即使它可以找到它!).
我还注意到在调用堆栈中,一个名为Generics
的单元总是堆栈的顶部,而不是我的断点所在的单元,这与我的断点在哪里无关。
有什么想法吗
3条答案
按热度按时间0kjbasz61#
尝试检查您的 Delphi 事件日志。
有时候,Windows本身会写一个
OutputDebugString
,然后在你的应用程序做了一些非常糟糕的事情时触发一个断点,例如:字符串
它也可以是Application Verifier(如果您正在使用它;如果你不是你应该)告诉你关于一个问题。
uyhoqukh2#
Here我发现建议检查
Debugger Options
中的Ignore non-user breakpoints
(D2009)。a14dhokn3#
@anon的解决方案对我来说效果很好。原因是一个Delphi内部断点,如picture中的断点