如何调试 VCL 错误?

Mar*_*unu 1 delphi debugging vcl access-violation delphi-10.3-rio

我不知道你是怎么做的,但是当我处理一个新组件时,为了测试它,我在运行时手动创建它并为其分配一个父级,这样我就不必每次都安装它。 .. 现在我完成了,当我以这种方式运行它时,它运行得很好。但是在我将它安装在 VCL 中并且我想把它放在一个表单上之后,我从构造函数的某个地方收到一个“访问冲突”错误。如果我无权逐行运行它以查看它发生的位置和条件,我该如何调试它?

fpi*_*tte 5

在 IDE 中安装组件后,重新启动 IDE 并打开组件运行时包项目(它必须已在调试构建配置中编译)。然后转到IDE的“运行”菜单,选择“参数”子菜单,在“主机应用程序”字段中,输入Delphi IDE的完整路径(类似“C:\Program Files (x86)\Embarcadero\Studio”) \21.0\bin\bds.exe”)。然后按 F9 在调试器下运行您的项目(运行时包)。

这将启动 IDE 的另一个实例。使用此实例,创建一个新的 VCL 项目并删除您的组件。点击您提到的访问冲突时会弹出第一个实例。

当然,在按 F9 之前,您可以放置​​任何您喜欢的断点,然后单步执行代码以找出错误。

很可能,您也可以通过这种方式调试组件的设计时包。