标签: delphi delphi-7 access-violation
我想跟踪触发的访问冲突错误。
创建线程并执行一些作业。我怀疑他们在没有“同步”的情况下访问VCL或变量。 Madexcept报告显示访问冲突发生在表单close(form1.close;)上,但没有更多精度。
我有很多行代码(大约100.000)。
我应该怎么做才能避免花太多时间? 我在调试器选项中检查了“范围检查”。
非常感谢
答案 0 :(得分:1)
如果您真的想知道,可以使用debug dcu构建项目,并在异常发生之前放置一个断点。
现在你可以跳转到VCL代码,希望看到出了什么问题。
但是关闭或析构函数中的访问冲突通常是因为对象的双重自由。例如,您释放也由表单释放的组件(因为它由表单拥有)。
答案 1 :(得分:0)
试试SafeMM,它会帮助您更快地发现错误。这是video,它给出了详细的解释。 但要小心,这个MM仅用于调试,不要在软件的Release版本中启用它。