6

I am trying to port my Windows Phone 8 app to Windows 10. I am able to build my app. When I try to deploy my app in Release x86 on a Mobile emulator, it fails & gives the following msg:

Symbols for ntdll.dll could not be downloaded from Microsoft Symbol Servers. Exception string and call stacks may not work correctly. Make sure you have network connection and try again

Even though I am trying to run my app in Release mode, I am not sure why VS-2015 is tyring to download these debugging symbols.
After a bit of searching on the internet, I have done these, yet I continue to see the issue:

  • I have already downloaded, all necessary symbols available from Windows-10 from here: https://msdn.microsoft.com/en-us/windows/hardware/gg463028.aspx to C:\Symbols
  • In VS Tools->Options->Debugging->Server, I have created two entries for Symbol file).pdb) locations. One points to Microsoft Symbol Servers and the other to C:\Symbols
  • The machine has internet connection, so there is no problem with the connection as the error message points to.
  • I have set environment var _NT_SYMBOL_PATH to SRVc:\symbolshttp://msdl.microsoft.com/download/symbols

Has anyone faced this issue?

magicandre1981
  • 27,895
  • 5
  • 86
  • 127
Ganesh kudva
  • 990
  • 3
  • 13
  • 34

3 Answers3

3

this is a known issue with the x86 NTDLL.dll in Version 10.0.10586.122 (th2_release_inmarket.160222-1549). The file is missing on the Microsoft symbol server:

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 - 

I've already reported it to Microsoft and they investigate the issue.

// Update 2016-03-15

The wntdll.pdb is now available on the symbol server:

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.
magicandre1981
  • 27,895
  • 5
  • 86
  • 127
  • Hi @magicandre1981, Thanks for your response. Is there a workaround for this issue? Or do we have to wait until Microsoft rolls out a fix for this issue? – Ganesh kudva Mar 14 '16 at 05:06
  • there is no workaround. We have to wait until MS provides the PDB or provides a new Cumulative Update which updates the NTDLL.dll and hopefully here MS provides the PDB. – magicandre1981 Mar 14 '16 at 05:14
  • I'm getting the same problem and it's making it impossible for me to debug my UWP app in Release Mode. Still investigating and currently downloading the latest 'Windows Software Development' but I'm pretty sure my machine is already up-to-date, so still hoping. Complete pain to be honest but hopefully they'll have something soon as I'm at a standstill as something that's working perfectly well in DebugMode is not working in Release mode and I can't debug it and see what's wrong, so I cant' release my app! Just great! – Thierry Mar 15 '16 at 03:45
  • @Thierry compile it as x64, this PDB was uploaded – magicandre1981 Mar 15 '16 at 05:02
  • @Thierry try it again. MS has now uploaded the file. I got the PDB today. – magicandre1981 Mar 15 '16 at 16:38
  • I've downloaded the x86 instead as it was the plaform I am debugging with and installed it to c:\symbols. Did the same as @Ganeshkudva, but I'm still getting the error. Do I need to do anything else? – Thierry Mar 15 '16 at 23:38
  • here is the PDB: https://www.dropbox.com/s/tebxv2mravh8orm/wntdll.pdb.zip?dl=0 extract it to the symbol folder – magicandre1981 Mar 16 '16 at 05:06
  • Downloaded the file, but before I copy it to my c:\symbols folder, is that the x86 or x64 version? Remember I'm using the x86 version. Also I've noticed that even though I only downloaded this yesterday, my file is a much earlier version than yours i.e. 10/29/2015 vs 03/03/2016. The reason I'm using x86 is that I need to test this on the Windows Phone Emulator as well and it won't let me use x64. Thanks. – Thierry Mar 17 '16 at 00:26
  • @Thierry this is the x86 PDB – magicandre1981 Mar 17 '16 at 05:01
  • @magicandre1981 Unfortunately it didn't. I'm still getting the same error. Any other suggestions? Thanks – Thierry Mar 17 '16 at 21:14
  • @magicandre1981 One thing I meant to ask you earlier on and forgot, but the file you put on DropBox is called wntdll.dll, shouldn't it be ntdll.dll? Also, what about my other question the dates being different even though I only downloaded it a couple of days ago? Thanks. – Thierry Mar 17 '16 at 23:24
  • @magicandre1981, Thanks for your responses. As Thierry has mentioned, I still see the issue even after downloading this PDB. I have put this in my C:\Symbols folder, but when I run my app in Release x86 mode, I see the same error as earlier. – Ganesh kudva Mar 18 '16 at 00:13
  • @Thierry I have no idea why it has the w in front. Must be historical. The kernel32.dll PDB is also called wkernel32.pdb. – magicandre1981 Mar 18 '16 at 05:07
  • also extract the file with the folder layout – magicandre1981 Mar 18 '16 at 05:07
  • @Thierry ok, I did some testing. the w is for wow64 version. If I open a 64bit dmp or a 32Bit dmp from a 32Bit Windows, I get the ntdll.pdb. If I open a 32Bit dmp on a 64Bit Windows I get the wntdll.pdb – magicandre1981 Mar 19 '16 at 16:31
  • @magicandre1981 - Apologies for the cockup! Was never intended to be an answer and was supposed to be added as a comment. – Thierry Mar 19 '16 at 16:38
  • @magicandre1981, the last few days have been mad on my end and haven't had a chance to look at this again until now, and I see the problem is still not resolved. Do you have any other suggestions? Thanks. – Thierry Mar 24 '16 at 01:38
  • @Thierry I have no idea why it fails for you, because I was able to get the PDB – magicandre1981 Mar 24 '16 at 05:08
  • @WakanTanka run **!sym noisy** and **.reload /v** – magicandre1981 Nov 08 '16 at 05:01
  • @WakanTanka run them inside Windbg after you loaded a dump file – magicandre1981 Nov 08 '16 at 16:13
3

I'm still facing this issue today (Nov 2016), for ntdll and many other system and crt dll's. What I do in VS is load dll exports instead of relying solely on PDBs:

Tools \ Options \ Debugging \ General \ "Load dll exports (Native only)"

Ofek Shilon
  • 14,734
  • 5
  • 67
  • 101
1

It looks like something chokes here and symbols are either corrupted or not able redownload. see the image below, Under Debugging->Symbols path there is option that you can check, it was unchecked for me. After doing this it worked fine.

enter image description here

Emil
  • 6,411
  • 7
  • 62
  • 112