c++visual-studiodebuggingdebug-symbolstilde

Managed debugging does not work anymore, due to wrong version of mscordbi.dll


I'm trying to debug a memory dump, using Visual Studio, as managed, but this fails with following error message:

Managed debugging is not available for this minidump.

A required library for managed minidump debugging,'mscordbi.dll', version '4.0.30319.0', could not be located.

Restart your debug session after trying one of more of the following steps:

  1. If this computer is not currently connected to the internet, connect so the dll can be downloaded from Microsoft.
  2. Specify the path to 'mscordbi.dll' in Symbol Settings under Debugger options.
  3. Select 'Debug with Native Only'.

While checking my Symbol Settings, there are following Symbol file (.pdb) locations (all are checked):

Environment Variable: _NT_SYMBOL_PATH
Microsoft Symbol Servers
C:\Dump_Repository\... (not relevant for this question)

A cache directory is foreseen, and the automatic loading preference is set to Load all modules, unless excluded. The only excluded one is user32.dll.

The value of the _NT_SYMBOL_PATH environment variable is the following:

cache*;srv*C:\Dump_Analyse*C:\build_machine1;cache*;srv*C:\Dump_Analyse*\\build_machine2\Development\Symbols;cache*;srv*C:\Dump_Analyse*\\build_machine1\Symbols;cache*;srv*https://msdl.microsoft.com/download/symbols;cache*;srv*C:\ProgramData\dbg\sym

In the mentioned directory C:\Dump_Analyse, there is a directory mscordbi.dll, with three subdirectories, each containing the mentioned mscordbi.dll DLL:

Prompt>find ./ -name "mscordbi.dll" 2>/dev/null
  ./Dump_Analyse/mscordbi.dll (this is a directory)
  ./Dump_Analyse/mscordbi.dll/4BA1DA2Deb000/mscordbi.dll
  ./Dump_Analyse/mscordbi.dll/563C0E8E10b000/mscordbi.dll
  ./Dump_Analyse/mscordbi.dll/583E5AAD10b000/mscordbi.dll

The two last ones seem not that relevant, but the first one has file version 4.0.30319.1 (which is very near to the requested version).

My computer is connected to the internet, my account seems to be ok (I have recently modified the password of my Windows account, but I'm logged in on Visual Studio under another account).

Does anybody know what might be happening here and how I can solve this issue?


Solution

  • The problem is solved:
    While trying further, I wanted to clear the symbol cache, which did not work (a user permission was said not to be correct).

    That cache symbols was a directory, containing a tilde character: ~ (something like C:\Users\Dominique~1\AppData\Local\Temp\SymbolCache).

    I've replaced this by the real directory name (by clicking the Browse button):

    C:\Users\DominiqueDS\AppData\Local\Temp\SymbolCache
    

    In other words (for searching purposes): in Visual Studio Symbol settings, the symbols cache directory should not contain a ~ (tilde) character.