调试器会针对错误(例如F7)进入源代码,但是我想恢复正常的工作模式,在该模式下,仅将Delphi基本DCU(库)编译到我的代码中,而源代码不在调试中使用。

例如,在我的程序中出现错误时,调试器将进入Controls.pas和TControl.Click。正常情况(安装后即刻)是Delphi逐步采用这些方法。

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

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

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

  • 我为此创建了一个文件夹:“c:\D\Common\Delphi_Patches\Delphi_6\”
  • 我将原始的Controls.pas放入其中。
  • 我修改了Controls.pas,替换了位置 getter 代码。
  • 我设置了Delphi的Library路径,将第一个文件夹设置为“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/

    10-13 04:10