本文介绍了WinDbg 在 MS 符号服务器上找不到 ntdll 的符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试调试可执行文件 notepad.exe(来自 Windows 10 发行版),并且需要来自 Microsoft 符号服务器的符号 ntdll.pdb,但调试器返回一个错误,提示他们找不到指定的文件:

I'm trying to debug executable notepad.exe (from Windows 10 distribution), and symbols ntdll.pdb from Microsoft symbols server are required, but debugger returns an error that they cannot find file specified:

0:000> .reload
Reloading current modules
.................................
SYMSRV:  BYINDEX: 0x25
         http://msdl.microsoft.com/download/symbols
         ntdll.pdb
         BC08E2B7EBB349A18DCE18BE9AA6660E1
SYMSRV:  HTTPGET: /download/symbols/ntdll.pdb/BC08E2B7EBB349A18DCE18BE9AA6660E1/ntdll.pdb
SYMSRV:  HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/ntdll.pdb/BC08E2B7EBB349A18DCE18BE9AA6660E1/ntdll.pd_
SYMSRV:  HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /download/symbols/ntdll.pdb/BC08E2B7EBB349A18DCE18BE9AA6660E1/file.ptr

SYMSRV:  HttpQueryInfo: 404 - HTTP_STATUS_NOT_FOUND
SYMSRV:  C:\ProgramData\dbg\sym\ntdll.pdb\BC08E2B7EBB349A18DCE18BE9AA6660E1\ntdll.pdb - file not found
SYMSRV:  http://msdl.microsoft.com/download/symbols/ntdll.pdb/BC08E2B7EBB349A18DCE18BE9AA6660E1/ntdll.pdb not found
SYMSRV:  C:\ProgramData\dbg\sym\ntdll.pdb\BC08E2B7EBB349A18DCE18BE9AA6660E1\ntdll.pdb not found
DBGHELP: C:\WINDOWS\SYSTEM32\ntdll.pdb - file not found
DBGHELP: ntdll.pdb - file not found
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll -
DBGHELP: ntdll - export symbols

************* Symbol Loading Error Summary **************
Module name            Error
SharedUserData         No error - symbol load deferred
                Symbol loading has been deferred because this symbol is not needed
                at this time. Use reload /f to force load symbols.

ntdll                  The system cannot find the file specified : http://msdl.microsoft.com/download/symbols
                The SYMSRV client failed to find a file in the UNC store, or there
                is an invalid UNC store (an invalid path or the pingme.txt file is
                not present in the root directory), or the file is present in the
                symbol server exclusion list.

MS 服务器是否可能不包含必需的符号?

Is it possible that MS server does not contain required symbols?

它是:版本 10.0.14393.447 (rs1_release_inmarket.161102-0100)

It is: version 10.0.14393.447 (rs1_release_inmarket.161102-0100)

推荐答案

NTDLL.PDB (ntdll.pdb\BC08E2B7EBB349A18DCE18BE9AA6660E1\ntdll.pdb) 现已上线,我能够获得 PDB:

The NTDLL.PDB (ntdll.pdb\BC08E2B7EBB349A18DCE18BE9AA6660E1\ntdll.pdb) is now online and I was able to get the PDB:

00007ffb`c79c0000 00007ffb`c7b91000   ntdll
(pdb symbols) d:\sym\dl\nt\ntdll.pdb\BC08E2B7EBB349A18DCE18BE9AA6660E1\ntdll.pdb
    Loaded symbol image file: ntdll.dll
    Image path: C:\Windows\System32\ntdll.dll
    Image name: ntdll.dll
    Browse all global symbols  functions  data
    Timestamp:        Wed Nov  2 11:13:06 2016 (5819BC32)
    CheckSum:         001DA569
    ImageSize:        001D1000
    File version:     10.0.14393.447
    Product version:  10.0.14393.447
    File flags:       0 (Mask 3F)
    File OS:          40004 NT Win32
    File type:        2.0 Dll
    File date:        00000000.00000000
    Translations:     0409.04b0
    CompanyName:      Microsoft Corporation
    ProductName:      Microsoft® Windows® Operating System
    InternalName:     ntdll.dll
    OriginalFilename: ntdll.dll
    ProductVersion:   10.0.14393.447
    FileVersion:      10.0.14393.447 (rs1_release_inmarket.161102-0100)
    FileDescription:  NT Layer DLL
    LegalCopyright:   © Microsoft Corporation. All rights reserved.

所以再次尝试加载符号.

So try again to load the symbols.

这篇关于WinDbg 在 MS 符号服务器上找不到 ntdll 的符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-11 00:45