在Delphi中跟踪访问冲突

时间:2012-07-06 21:45:20

标签: delphi delphi-7 access-violation

我想跟踪触发的访问冲突错误。

创建线程并执行一些作业。我怀疑他们在没有“同步”的情况下访问VCL或变量。 Madexcept报告显示访问冲突发生在表单close(form1.close;)上,但没有更多精度。

我有很多行代码(大约100.000)。

我应该怎么做才能避免花太多时间? 我在调试器选项中检查了“范围检查”。

非常感谢

2 个答案:

答案 0 :(得分:1)

如果您真的想知道,可以使用debug dcu构建项目,并在异常发生之前放置一个断点。

现在你可以跳转到VCL代码,希望看到出了什么问题。

但是关闭或析构函数中的访问冲突通常是因为对象的双重自由。例如,您释放也由表单释放的组件(因为它由表单拥有)。

答案 1 :(得分:0)

试试SafeMM,它会帮助您更快地发现错误。这是video,它给出了详细的解释。 但要小心,这个MM仅用于调试,不要在软件的Release版本中启用它。