特定版本KERNELBASE.dll的PDB下载失败求助及微软原因排查请求
无法从微软符号服务器下载KERNELBASE.dll对应PDB,调用栈不完整问题
我有一份来自无法访问系统生成的dump文件,用WinDbg打开时,因为KERNELBASE.dll缺少符号导致调用栈不完整。已设置符号路径:SRV*C:\WebSymbols*http://msdl.microsoft.com/download/symbols,但从微软符号服务器下载对应PDB失败。这是系统PDB频繁出现的下载失败问题,导致崩溃调用栈不全,无法对崩溃问题归类。
请问该版本的PDB还能从哪里下载?
@微软 请排查微软符号服务器为何频繁缺失系统PDB。
缺失符号的KERNELBASE.dll信息
0:000> lmvm KERNELBASE Browse full module list start end module name 00007ffb`b1f80000 00007ffb`b2094000 KERNELBASE T (no symbols) Loaded symbol image file: KERNELBASE.dll Image path: C:\Windows\System32\KERNELBASE.dll Image name: KERNELBASE.dll Browse all global symbols functions data Timestamp: Fri Mar 15 09:57:06 2024 (65F3CE1A) CheckSum: 0011BB8C ImageSize: 00114000 File version: 6.3.9600.21914 Product version: 6.3.9600.21914 File flags: 0 (Mask 3F) File OS: 40004 NT Win32 File type: 2.0 Dll File date: 00000000.00000000 Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
开启sym noisy后的加载尝试日志
0:000> .reload /f KERNELBASE.dll SYMSRV: BYINDEX: 0x32 c:\mssymbols*https://msdl.microsoft.com/download/symbols KERNELBASE.dll 65F3CE1A114000 SYMSRV: UNC: c:\mssymbols\KERNELBASE.dll\65F3CE1A114000\KERNELBASE.dll - path not found SYMSRV: UNC: c:\mssymbols\KERNELBASE.dll\65F3CE1A114000\KERNELBASE.dl_ - path not found SYMSRV: UNC: c:\mssymbols\KERNELBASE.dll\65F3CE1A114000\file.ptr - path not found SYMSRV: HTTPGET: /download/symbols/KERNELBASE.dll/65F3CE1A114000/KERNELBASE.dll SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND SYMSRV: HTTPGET: /download/symbols/KERNELBASE.dll/65F3CE1A114000/KERNELBASE.dl_ SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND SYMSRV: HTTPGET: /download/symbols/KERNELBASE.dll/65F3CE1A114000/file.ptr SYMSRV: HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND SYMSRV: RESULT: 0x80190194 DBGHELP: C:\Temp\Dumps\KERNELBASE.dll - file not found DBGENG: C:\Windows\System32\KERNELBASE.dll image header does not match memory image header. DBGENG: C:\Windows\System32\KERNELBASE.dll - Couldn't map image from disk. Unable to load image C:\Windows\System32\KERNELBASE.dll, Win32 error 0n2
可行的替代方案
- 检查本地符号缓存路径一致性:日志显示WinDbg在
c:\mssymbols查找,但你设置的符号路径是C:\WebSymbols,执行.symfix C:\WebSymbols重置符号路径后,再尝试.reload /f KERNELBASE.dll - 改用HTTPS符号服务器地址:将符号路径改为
SRV*C:\WebSymbols*https://msdl.microsoft.com/download/symbols,避免HTTP协议可能的网络拦截问题 - 匹配同版本系统文件:如果能找到安装了
6.3.9600.21914版本KERNELBASE.dll的Windows 8.1/Server 2012 R2系统,复制该系统C:\Windows\System32下的对应dll,在WinDbg中指定本地dll路径尝试加载符号 - 提交官方反馈:通过微软反馈中心提交该版本PDB缺失问题,附带模块信息和加载日志,帮助官方定位修复
内容的提问来源于stack exchange,提问作者devstability
相关产品推荐
相关产品推荐

