Windows错误报告有时不会为.NET 4应用程序生成小型转储 [英] Windows Error Reporting doesn't generate mini dump for a .NET 4 application sometimes
问题描述
I'm trying to diagnose a crash issue for a .NET 4 application. The last time it crashes in a user's machine, Windows Error Reporting doesn't gather the mini dump of the application. I've check the DumpFolder
in registry, and I can find the dump files for old crashes, but there's just no new dump file for the last one.
崩溃的事件日志显示:
应用程序:MyApp.exe
Framework版本:v4.0.30319
说明:该进程由于内部错误而被终止,该错误是由于.NET Runtime的IP地址为IP 000007FEEC0F25E8(000007FEEC0B0000)且退出代码为80131506。
Application: MyApp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error int the .NET Runtime at IP 000007FEEC0F25E8 (000007FEEC0B0000) with exit code 80131506.
通过某些搜索,看起来像是CLR x64中并发GC的著名错误。事件日志也与以前的崩溃不同。他们在先前的事件日志中明确表示发生了访问冲突。退出代码是相同的。
By some searching is looks like a famous bug of concurrent GC in CLR x64. The event log is also different from previous crashes. In previous event logs, they said explicitly there's an "access violation" happen. The exit code is the same.
我不能使用 adplus
或 procdump
进行崩溃转储,因为它们会大大降低性能。我想知道为什么这次WER没有得到小型转储?
I cannot using adplus
or procdump
to get crash dump since they slow down the performance significantly. I want to know why this time WER didn't get a mini dump?
推荐答案
转储文件可能已经处理并发送了到Microsoft服务器上的WER收集系统上。您应该能够通过检查路径来验证这一点……
The dump file may have been processed and sent onto the WER collection system on the Microsoft servers. You should be able to verify that by checking the path…
C:\Users\xxxxx\AppData\Local\ Microsoft\Windows\WER\ReportArchive
C:\Users\xxxxx\AppData\Local\Microsoft\Windows\WER\ReportArchive
话虽如此,但没有什么可以阻止您捕获转储。您需要设置一些注册表值来实现。我已经在先前的回答类似的问题。
Having said that, there’s nothing stopping you from trapping the dump. You’ll need to set some registry values to accomplish that. I’ve posted the procedure in a previous answer to a similar problem.
这篇关于Windows错误报告有时不会为.NET 4应用程序生成小型转储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!