【发布时间】:2018-07-04 08:22:12
【问题描述】:
我正在使用 Windbg 调试在主线程调用堆栈上具有 mfc140.dll 版本 14.0.24212.0 的转储。由于某种原因无法下载此版本的mfc140。
这是带有 sym 噪声的日志:
SYMSRV: BYINDEX: 0xC
c:\websymbols*http://msdl.microsoft.com/download/symbols
mfc140.dll
578697145cc000
SYMSRV: c:\websymbols\mfc140.dll\578697145cc000\mfc140.dll - file not found
SYMSRV: HTTPGET: /download/symbols/index2.txt
SYMSRV: HttpQueryInfo: 400 - HTTP_STATUS_BAD_REQUEST
SYMSRV: HTTPGET: /download/symbols/mfc140.dll/578697145cc000/mfc140.dll
SYMSRV: HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND
SYMSRV: HTTPGET: /download/symbols/mfc140.dll/578697145cc000/mfc140.dl_
SYMSRV: HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND
SYMSRV: HTTPGET: /download/symbols/mfc140.dll/578697145cc000/file.ptr
SYMSRV: HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND
SYMSRV: c:\websymbols\mfc140.dll\578697145cc000\mfc140.dll not found
SYMSRV: http://msdl.microsoft.com/download/symbols/mfc140.dll/578697145cc000/mfc140.dll not found
DBGENG: C:\Windows\System32\mfc140.dll image header does not match memory image header.
DBGENG: C:\Windows\System32\mfc140.dll - Couldn't map image from disk.
DBGENG: mfc140.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: BYINDEX: 0x11
c:\websymbols*http://msdl.microsoft.com/download/symbols
mfc140.amd64.pdb
A2209CF5D6D44F309A30F1D37A54A0F517
SYMSRV: PATH: c:\websymbols\mfc140.amd64.pdb\A2209CF5D6D44F309A30F1D37A54A0F517\mfc140.amd64.pdb
*** WARNING: Unable to verify timestamp for mfc140.dll
DBGHELP: mfc140 - private symbols & lines
c:\websymbols\mfc140.amd64.pdb\A2209CF5D6D44F309A30F1D37A54A0F517\mfc140.amd64.pdb
【问题讨论】:
-
根据错误,需要下载mfc140.dll吗?其中包含 vc++ 2015 可再发行组件:microsoft.com/en-us/download/details.aspx?id=53840 如果它不在您的机器中,您可以尝试安装它。
-
"C:\Windows\System32\mfc140.dll 图像标头与内存图像标头不匹配。" - 听起来其中一张图像被篡改了,无论是在您的机器或您从中获取转储的机器。
-
@IInspectable system32文件夹中mfc140.dll的版本是14.0.24215.0,dump需要14.0.24212.0。
-
@FletchZhou-MSFT 为什么不从微软符号服务器下载?
-
调试器确实从符号服务器加载符号。它无法在您的系统中找到匹配的二进制文件来重建转储进程的内存。符号服务器不提供二进制文件。您必须自己提供它们。
标签: visual-c++ visual-studio-2015 mfc windbg symbol-server