【问题标题】:How do I debug VCL errors? [duplicate]如何调试 VCL 错误? [复制]
【发布时间】:2020-12-19 14:56:53
【问题描述】:
我不知道你是怎么做的,但是当我处理一个新组件时,为了测试它,我在运行时手动创建它并为其分配一个父组件,这样我就不必安装它每次......现在我已经完成了,当我以这种方式运行它时它可以完美运行。但是在我将它安装在 VCL 中并且我想把它放在一个表单上之后,我从构造函数的某个地方收到一个“访问冲突”错误。如果我无法逐行运行它以查看它发生的位置和条件,我该如何调试它?
【问题讨论】:
标签:
delphi
debugging
access-violation
vcl
delphi-10.3-rio
【解决方案1】:
在 IDE 中安装组件后,重新启动 IDE 并打开组件运行时包项目(它必须已在调试构建配置中编译)。然后进入IDE“运行”菜单,选择“参数”子菜单,在“主机应用程序”字段中,输入Delphi IDE的完整路径(类似于“C:\Program Files (x86)\Embarcadero\Studio \21.0\bin\bds.exe")。然后按 F9 在调试器下运行您的项目(运行时包)。
这将启动 IDE 的另一个实例。使用此实例,创建一个新的 VCL 项目并删除您的组件。遇到您提到的访问冲突时,将弹出第一个实例。
当然,在按下 F9 之前,您可以放置任何您喜欢的断点,然后单步执行代码以找出错误。
您也可以通过这种方式调试组件的设计时包。