如何在崩溃时创建进程迷你转储而不在 Windows 7 上显式运行 AdPlus?
我有一个 .NET 进程,有时会在某些第 3 方库的本机代码中因 AccessViolationException 而失败。
当发生这种情况时,我希望有完整的内存迷你转储。我已阅读此页面 - http://support.microsoft.com/kb/931673, “收集用户模式转储”部分并按照本文所述配置注册表。然而,当崩溃发生时,会创建一个非常小的报告 - 看不到 *.mdmp 文件。
现在,我知道如何从 ADPLus 中运行该进程,或者如何使其附加到已经运行的进程。但它需要显式运行 ADPLus。
我想知道如何配置 Windows 自动运行 ADPlus,每次启动有问题的进程时,无论它是如何启动的 - 从 msbuild、双击、从控制台脚本等......
意思是,当运行 aaaa.exe 时被替换通过使用某些标志运行 ADPlus,会使用相应的命令行选项生成 aaaa.exe。
我知道Windows中有图像执行标志,可以做到这一点,但我不知道细节。
谢谢。
EDIT1
保留命令行参数非常重要,因此如果 aaa.exe 使用标志运行,那么从调试器运行 aaa.exe 时当然也应该如此。
I have a .NET process that sometimes fails with AccessViolationException in the native code of some 3rd party library.
I wish to have full memory mini dump when that happens. I have read this page - http://support.microsoft.com/kb/931673, the section "To collect user-mode dumps" and configured the registry as the article explains. However, when the crash occurrs, a really small report is created - no *.mdmp file is in sight.
Now, I know how to run the process from within ADPLus or how to make it attach to an already running process. But it requires running ADPLus explicitly.
I was wondering how can I configure windows to run ADPlus automatically, each time I start the problematic process no matter how it is started - from msbuild, double clicked, from console script, etc...
Meaning, when running aaaa.exe is replaced by running ADPlus with certain flags which spawns aaaa.exe with the respective command line options.
I know there are image execution flags in windows, which do that, but I do not know the details.
Thanks.
EDIT1
It is important to preserve the command line parameters, so if aaa.exe is run with a flag, then, of course, the same should be true when running aaa.exe from the debugger.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没关系,找到了。
Never mind, found it.