gpt4 book ai didi

delphi - 如何阻止调试器单步执行 Delphi 提供的单元?

转载 作者:行者123 更新时间:2023-12-03 15:04:53 24 4
gpt4 key购买 nike

调试器出现错误时会进入源代码(例如使用F7),但我想恢复正常工作模式,其中Delphi基本DCU(库)仅编译到我的代码中,并且调试时不使用源代码。

例如,当我的程序出现错误时,调试器将单步执行 Controls.pas、TControl.Click。正常情况(安装后)Delphi 会跳过这些方法。

我应该在没有调试信息的情况下重新编译 Controls.pas 吗?如果是这样,怎么办?

<小时/>

我用附加信息扩展了这个主题,以更好地理解:

我们使用Delphi6 Prof。鼠标有问题(系统错误代码5)。因此我们要重新编译为 Controls.pas 以替换 Mouse Position getter 代码。然后:

  1. 我为其创建了一个文件夹:“c:\D\Common\Delphi_Patches\Delphi_6\”
  2. 我把原来的Controls.pas放进去。
  3. 我修改了 Controls.pas,替换了位置获取代码。
  4. 我设置了Delphi的库路径,将第一个文件夹设置为“c:\D\Common\Delphi_Patches\Delphi_6\”

通过这些步骤,我可以使用鼠标安全代码编译源代码。

好的,但是 Delphi 每次在 F7 上都会进入 Controls.pas,并且在任何异常(exception)情况下 - 这是非常“愤怒制造者”的事情。

无论我从库路径中删除了“Controls.pas” - 然后调试器都会找到它的原始“Controls.pas”,并将其打开...:-(

我们不在任何代码中使用“使用调试 DCU-s”。

我试图从编译器选项中删除“调试信息”,但没关系,Delphi打开的是原始的Controls.pas...

所以我搜索Delphi的方法不要进入“Controls.pas”,而是使用我的dcu...

我希望这可以提供更好的背景来理解问题。

最佳答案

我认为你需要Shift+Ctrl+F11(工具/选项)然后在编译器 ,取消选中“使用调试 DCU”...然后,如果发生异常,它将不会中断 RTL 或 VCL 源代码。

关于delphi - 如何阻止调试器单步执行 Delphi 提供的单元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12074306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com