gpt4 book ai didi

minidump - 如何调试 "ngen"ed 图像的 WER 小型转储

转载 作者:行者123 更新时间:2023-12-04 08:30:32 25 4
gpt4 key购买 nike

在安装时在 .NET 托管应用程序上执行 ngen 并从应用程序的 Windows 错误报告中检索故障转储时,如何使用它来查看堆栈跟踪、变量等?

以下是与该问题相关的一些背景:我们有一个在安装时生成的 .NET 应用程序。当它由于未处理的 .NET 异常而崩溃时,崩溃被存储在 Windows 错误报告中,并且我能够从 winqual.microsoft.com 下载 minidump.mdmp 文件。

我将 minidump.mdmp 放在包含 .dbg 文件的文件夹中,用于构建崩溃的应用程序,然后双击 minidump.mdmp 以在 VS2008 SP1 的新实例中打开它。我的堆栈跟踪如下所示:

kernel32.dll!RaiseException() + 0x3d bytes
mscorwks.dll!RaiseTheExceptionInternalOnly() + 0x295 bytes
mscorwks.dll!JIT_Throw() + 0x130 bytes
MyApp.ni.exe!000007feee74c84c()
[Frames below may be incorrect and/or missing, no symbols loaded for MyApp.ni.exe]
0000000070000d5e()
MyApp.ni.exe!000007feee611000()
000000000300bf78()
000000000300bf60()



Modules 窗口表明已为 OS 和 .NET DLL 加载了符号,但对于应用程序模块,我得到以下信息:

MyApp.exe -> No native symbols in symbol file.
MyApp.ni.exe -> No matching binary found.
MyAppsLibrary.ni.dll -> No matching binary found.

最佳答案

调试这些转储的最简单方法是使用 Windows 调试器(Windbg、cdb 或 ntsd)并加载 SOS 调试器扩展(您可以搜索 SOS 了解更多详细信息)。

据我记得,只要你有原始的 EXE 和符号,NGEN 的部分对 SOS 来说并不重要(因为它是你的应用程序,我希望你有非 ngen 的 exe 和符号)。

关于minidump - 如何调试 "ngen"ed 图像的 WER 小型转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1521289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com