Debugging WinDbg在64位Windows上通过本机32位应用程序的小型转储崩溃,赢得了';t加载系统DLL的符号

Debugging WinDbg在64位Windows上通过本机32位应用程序的小型转储崩溃,赢得了';t加载系统DLL的符号,debugging,symbols,win64,Debugging,Symbols,Win64,我从我们的一个应用程序的崩溃中得到了一个小型转储文件。这是一款32位本机应用程序,在64位Windows上运行 如果我将minidump文件加载到WinDbg中,WinDbg将不会加载系统DLL的符号。我已正确配置了符号路径: _NT_SYMBOL_PATH=SRV*C:\WebSymbols*http://msdl.microsoft.com/download/symbols …因为WinDbg为32位Windows上创建的小型转储正确加载符号。它只是不会为SysWOW64目录中的DLL加载

我从我们的一个应用程序的崩溃中得到了一个小型转储文件。这是一款32位本机应用程序,在64位Windows上运行

如果我将minidump文件加载到WinDbg中,WinDbg将不会加载系统DLL的符号。我已正确配置了符号路径:

_NT_SYMBOL_PATH=SRV*C:\WebSymbols*http://msdl.microsoft.com/download/symbols
…因为WinDbg为32位Windows上创建的小型转储正确加载符号。它只是不会为SysWOW64目录中的DLL加载符号

我在32位Windows 2003上尝试了32位WinDbg(来自调试工具6.9),在64位Windows 2008上尝试了64位WinDbg(也来自调试工具6.9)。两者都无法加载符号。这是来自32位WinDbg:

0:014> !sym noisy noisy mode - symbol prompts on 0:014> .reload .................................................................................... Loading unloaded module list .. SYMSRV: C:\WebSymbols\ntdll.dll\48E714D0170000\ntdll.dll not found SYMSRV: http://msdl.microsoft.com/download/symbols/ntdll.dll/48E714D0170000/ntdll.dll not found DBGENG: C:\Windows\SysWOW64\ntdll.dll - Couldn't map image from disk. Unable to load image C:\Windows\SysWOW64\ntdll.dll, Win32 error 0n2 DBGENG: ntdll.dll - Partial symbol image load missing image info DBGHELP: Module is not fully loaded into memory. DBGHELP: Searching for symbols using debugger-provided data. SYMSRV: C:\WebSymbols\wntdll.pdb\6686D0C5D0554E14953396093DA218A92\wntdll.pdb not found SYMSRV: http://msdl.microsoft.com/download/symbols/wntdll.pdb/6686D0C5D0554E14953396093DA218A92/wntdll.pdb not found DBGHELP: wntdll.pdb - file not found *** WARNING: Unable to verify timestamp for ntdll.dll *** ERROR: Module load completed but symbols could not be loaded for ntdll.dll DBGHELP: ntdll - no symbols loaded SYMSRV: C:\WebSymbols\kernel32.dll\48E7156Cf0000\kernel32.dll not found SYMSRV: http://msdl.microsoft.com/download/symbols/kernel32.dll/48E7156Cf0000/kernel32.dll not found DBGENG: C:\Windows\SysWOW64\kernel32.dll - Couldn't map image from disk. Unable to load image C:\Windows\SysWOW64\kernel32.dll, Win32 error 0n2 DBGENG: kernel32.dll - Partial symbol image load missing image info DBGHELP: Module is not fully loaded into memory. DBGHELP: Searching for symbols using debugger-provided data. SYMSRV: C:\WebSymbols\wkernel32.pdb\B0C3B36CC7EF4F3E9C168E186A5A6FEB2\wkernel32.pdb not found SYMSRV: http://msdl.microsoft.com/download/symbols/wkernel32.pdb/B0C3B36CC7EF4F3E9C168E186A5A6FEB2/wkernel32.pdb not found DBGHELP: wkernel32.pdb - file not found *** WARNING: Unable to verify timestamp for kernel32.dll *** ERROR: Module load completed but symbols could not be loaded for kernel32.dll DBGHELP: kernel32 - no symbols loaded SYMSRV: C:\WebSymbols\KERNELBASE.dll\48E7156D5a000\KERNELBASE.dll not found SYMSRV: http://msdl.microsoft.com/download/symbols/KERNELBASE.dll/48E7156D5a000/KERNELBASE.dll not found DBGENG: C:\Windows\SysWOW64\KERNELBASE.dll - Couldn't map image from disk. DBGENG: KERNELBASE.dll - Partial symbol image load missing image info DBGHELP: Module is not fully loaded into memory. DBGHELP: Searching for symbols using debugger-provided data. SYMSRV: C:\WebSymbols\wkernelbase.pdb\A8683F0C515F469B833E3FA562E0DB251\wkernelbase.pdb not found SYMSRV: http://msdl.microsoft.com/download/symbols/wkernelbase.pdb/A8683F0C515F469B833E3FA562E0DB251/wkernelbase.pdb not found DBGHELP: wkernelbase.pdb - file not found *** WARNING: Unable to verify timestamp for KERNELBASE.dll *** ERROR: Module load completed but symbols could not be loaded for KERNELBASE.dll DBGHELP: KERNELBASE - no symbols loaded 0:014> !sym噪音 嘈杂模式-符号提示打开 0:014>。重新加载 .................................................................................... 加载卸载模块列表 .. SYMSRV:C:\WebSymbols\ntdll.dll\48E714D017000\ntdll.dll未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/ntdll.dll/48E714D0170000/ntdll.dll 找不到 DBGENG:C:\Windows\SysWOW64\ntdll.dll-无法从磁盘映射映像。 无法加载映像C:\Windows\SysWOW64\ntdll.dll,Win32错误0n2 DBGENG:ntdll.dll-部分符号图像加载缺少图像信息 DBGHELP:模块未完全加载到内存中。 DBGHELP:使用调试器提供的数据搜索符号。 SYMSRV:C:\WebSymbols\wntdll.pdb\6686D0C5D0554E14953396093DA218A92\wntdll.pdb未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/wntdll.pdb/6686D0C5D0554E14953396093DA218A92/wntdll.pdb 找不到 DBGHELP:wntdll.pdb-找不到文件 ***警告:无法验证ntdll.dll的时间戳 ***错误:模块加载已完成,但无法为ntdll.dll加载符号 DBGHELP:ntdll-未加载任何符号 SYMSRV:C:\WebSymbols\kernel32.dll\48E7156Cf0000\kernel32.dll未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/kernel32.dll/48E7156Cf0000/kernel32.dll 找不到 DBGENG:C:\Windows\SysWOW64\kernel32.dll-无法从磁盘映射映像。 无法加载映像C:\Windows\SysWOW64\kernel32.dll,Win32错误0n2 DBGENG:kernel32.dll-部分符号图像加载缺少图像信息 DBGHELP:模块未完全加载到内存中。 DBGHELP:使用调试器提供的数据搜索符号。 SYMSRV:C:\WebSymbols\wkernel32.pdb\B0C3B36CC7EF4F3E9C168E186A5A6FEB2\wkernel32.pdb未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/wkernel32.pdb/B0C3B36CC7EF4F3E9C168E186A5A6FEB2/wkernel32.pdb 找不到 DBGHELP:wkernel32.pdb-找不到文件 ***警告:无法验证kernel32.dll的时间戳 ***错误:模块加载已完成,但无法为kernel32.dll加载符号 DBGHELP:kernel32-未加载符号 SYMSRV:C:\WebSymbols\KERNELBASE.dll\48E7156D5a000\KERNELBASE.dll未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/KERNELBASE.dll/48E7156D5a000/KERNELBASE.dll 找不到 DBGENG:C:\Windows\SysWOW64\KERNELBASE.dll-无法从磁盘映射映像。 DBGENG:KERNELBASE.dll-部分符号图像加载缺少图像信息 DBGHELP:模块未完全加载到内存中。 DBGHELP:使用调试器提供的数据搜索符号。 SYMSRV:C:\WebSymbols\wkernelbase.pdb\A8683F0C515F469B833E3FA562E0DB251\wkernelbase.pdb未找到 SYMSRV:http://msdl.microsoft.com/download/symbols/wkernelbase.pdb/A8683F0C515F469B833E3FA562E0DB251/wkernelbase.pdb 找不到 DBGHELP:wkernelbase.pdb-找不到文件 ***警告:无法验证KERNELBASE.dll的时间戳 ***错误:模块加载已完成,但无法为KERNELBASE.dll加载符号 DBGHELP:KERNELBASE-未加载符号
有什么想法吗?这些符号在Microsoft的符号服务器上不可用吗?

您是否在32位或64位系统上调试,以及在32位或64位版本的WinDBG上调试?通常,您必须在从中获取转储的同一架构包上进行调试:

除非您是在64位处理器上调试应用程序,否则Windows调试工具的32位版本是最佳选择。在这种情况下,您应该使用64位软件包

另外,看看这篇文章,他正在调试一个在64位平台上运行的32位应用程序:


考虑此处提到的解决方法,其中syswo64\ntdll.dll被复制到Syswow64\ntdll32.dll


适合我。

这是一个本地应用程序,所以上一篇文章没有太多用处。你的链接已断开:(。