Dav*_*vid 8 delphi crash c++builder vmware-fusion
我有一个奇怪的间歇性崩溃,只有在我解决问题的某些情况下才会发生,我正在寻求如何解决它的建议.
在显然随机的点上,Windows显示"[App]已停止工作"对话框.它是ntdll.dll中的APPCRASH,异常代码4000001f,异常偏移量000a2562.这是它变得棘手的地方:只有在调试器下运行应用程序时才会出现这种情况.但是,调试器不会捕获此异常,并且在Windows显示此对话框时,IDE没有响应.正常运行时不会发生此错误,即不在IDE调试器中.

我无法在调试器外重现它,因此我无法运行程序并在它已经崩溃时附加.当Windows显示此对话框时,我无法暂停执行,因为IDE没有响应.我可以手动跟踪代码行以查看它出现的位置.有几个,它发生的地方显然是随机的.有一段时间,它在创建一个线程时显示一个窗口(或新表单)一段时间.
编辑:我已将其跟踪到IDE:如果我暂停一个断点并单击"线程状态"选项卡,程序将立即使用上面的对话框崩溃,即使它理论上已暂停.在这种情况下,IDE仍然保持响应.这真的很奇怪.
我刚刚将我的开发环境转移到了VMWare Fusion.从我的新计算机上的旧(本机Windows)计算机运行构建时,也会发生该错误; 它在旧计算机上的相同EXE文件中没有出现.这让我想知道它是否与Fusion或我的新设置中的某些内容有关.
我在跑步:
这具有内存损坏的所有标志.它仅在您在特定环境下运行时出现,并且每次都出现在不同的位置.两种经典症状.
我知道调试它的最好方法是下载完整的FastMM并在启用完整调试选项的情况下运行.
如果这没有帮助,那么您将逐渐删除部分代码,直到您可以隔离问题为止.
我在D2010中看到的另一个问题是在将本地类定义(即类内部类)与泛型混合时出现问题.生成的代码很好,但是调试DCU是错误的,当单步执行代码时,调试器跳转到错误的文件并在不久之后死掉.你似乎没有完全相同的问题,但IDE死亡有相似之处.
最后,我建议您怀疑自己的代码而不是VMware.总是很容易责怪其他事情,但根据我的经验,每当我这样做时,最终总是我的代码!
| 归档时间: |
|
| 查看次数: |
4044 次 |
| 最近记录: |