" ntdll.dll"的符号无法从Microsoft Symbol Servers下载

时间:2016-03-14 04:02:49

标签: windows visual-studio-2015 win-universal-app debug-symbols windows-10-universal

我正在尝试将Windows Phone 8应用程序移植到Windows 10.我可以构建我的应用程序。当我尝试在移动模拟器上的发布 x86 中部署我的应用时,它会失败&给出以下信息:

  

无法从Microsoft Symbol Servers下载ntdll.dll的符号。异常字符串和调用堆栈可能无法正常工作。确保您有网络连接,然后重试

即使我尝试在发布模式下运行我的应用,我也不确定为什么VS-2015会下载这些调试符号。
在互联网上进行了一些搜索之后,我已经做了这些,但我仍然看到了这个问题:

有没有人遇到过这个问题?

3 个答案:

答案 0 :(得分:2)

这是版本10.0.10586.122 (th2_release_inmarket.160222-1549)中x86 NTDLL.dll的已知问题。 Microsoft符号服务器上缺少该文件:

SYMSRV:  Successfully closed the connection to the Server.
SYMSRV:  d:\sym\dl\wn\wntdll.pdb\39814CFBD1A74710A3F8FCAD3D7EC5661\wntdll.pdb not found
SYMSRV:  https://msdl.microsoft.com/download/symbols/wntdll.pdb/39814CFBD1A74710A3F8FCAD3D7EC5661/wntdll.pdb not found
DBGHELP: wntdll.pdb - file not found
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - 

我已经向微软报告过了,他们正在调查这个问题。

//更新2016-03-15

wntdll.pdb现在可在符号服务器上使用:

0:000> lmvm ntdll
Browse full module list
start    end        module name
77a70000 77beb000   ntdll      (pdb symbols)   

d:\sym\dl\wn\wntdll.pdb\39814CFBD1A74710A3F8FCAD3D7EC5661\wntdll.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:        Tue Feb 23 09:23:17 2016 (56CC16F5)
    CheckSum:         001873F8
    ImageSize:        0017B000
    File version:     10.0.10586.122
    Product version:  10.0.10586.122
    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.10586.122
    FileVersion:      10.0.10586.122 (th2_release_inmarket.160222-1549)
    FileDescription:  NT Layer DLL
    LegalCopyright:   © Microsoft Corporation. All rights reserved.

答案 1 :(得分:1)

我今天(2016年11月)仍然面临这个问题,对于ntdll和许多其他系统和crt dll来说。我在VS中做的是加载dll导出而不是仅依赖于PDB:

工具\选项\调试\常规\"加载dll导出(仅限本机)"

答案 2 :(得分:0)

这看起来像是窒息而且符号已损坏或无法重新下载。请参阅下面的图片,在调试 - >符号路径下,您可以检查选项,它是未选中的。这样做后效果很好。

enter image description here