Debugging WinDbg在64位Windows上通过本机32位应用程序的小型转储崩溃,赢得了';t加载系统DLL的符号
我从我们的一个应用程序的崩溃中得到了一个小型转储文件。这是一款32位本机应用程序,在64位Windows上运行 如果我将minidump文件加载到WinDbg中,WinDbg将不会加载系统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加载
_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
适合我。这是一个本地应用程序,所以上一篇文章没有太多用处。你的链接已断开:(。