我有一个 .NET 进程,有时会在某些第 3 方库的本机代码中因 AccessViolationException 而失败。
当发生这种情况时,我希望有完整的内存迷你转储。我已阅读此页 -http://support.microsoft.com/kb/931673 http://support.microsoft.com/kb/931673,“收集用户模式转储”部分并按照本文所述配置注册表。然而,当崩溃发生时,会创建一个非常小的报告 - 看不到 *.mdmp 文件。
现在,我知道如何从 ADPLus 中运行该进程,或者如何使其附加到已经运行的进程。但它需要显式运行 ADPLus。
我想知道如何配置 Windows 自动运行 ADPlus,每次启动有问题的进程时,无论它是如何启动的 - 从 msbuild、双击、从控制台脚本等......
这意味着,当运行 aaaa.exe 时,将替换为运行带有某些标志的 ADPlus,这些标志会生成带有相应命令行选项的 aaaa.exe。
我知道Windows中有图像执行标志,可以做到这一点,但我不知道细节。
Thanks.
EDIT1
保留命令行参数非常重要,因此如果 aaa.exe 使用标志运行,那么从调试器运行 aaa.exe 时当然也应该如此。
没关系,找到了。
- 在下创建一个以进程命名的密钥(如 aaa.exe)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\图像文件执行选项
- 使用该值添加字符串值调试器ADPlus-崩溃-mss您的符号缓存文件夹路径-MiniOnSecond -安静 -o您的转储文件夹路径 -sc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)