Visual Studio может найти mscordacwks, но WinDBG не удается - PullRequest
0 голосов
/ 26 октября 2018

Я работал над инструментом для извлечения некоторой информации из аварийных дампов (мини-дампов) и создания отчета.В некоторых случаях я обнаружил, что WinDBG не может автоматически загрузить правильную комбинацию mscordacwks и SOS.Источником аварийного дампа является приложение, содержащее как собственный, так и управляемый код.

Мой путь к символу:

Cache*D:\SymbolCache;SRV*\\\storage\Symbols;SRV*http://msdl.microsoft.com/download/symbols;SRV*http://referencesource.microsoft.com/symbols;SRV*https://dotnet.myget.org/F/rx/symbols";

.loadby sos clr

CLRDLL: Unable to get version info for '\\storage\symbols\clr.dll\5B5542C49ec000\mscordacwks.dll', Win32 error 0n87
CLRDLL: Unable to find mscordacwks_AMD64_AMD64_4.7.3132.00.dll by mscorwks search
CLRDLL: Unable to find 'mscordacwks_AMD64_AMD64_4.7.3132.00.dll' on the path
Cannot Automatically load SOS
CLRDLL: ERROR: Unable to load DLL mscordacwks_AMD64_AMD64_4.7.3132.00.dll, Win32 error 0n2
CLRDLL: Consider using ".cordll -lp <path>" command to specify .NET runtime directory.
Failed to load data access DLL, 0x80004005

Я также пытался .cordll -ve -u -l , но результат такой же, как показано выше.

! Pe

The version of SOS does not match the version of CLR you are debugging.  Please
load the matching version of SOS for the version of CLR you are debugging.
CLR Version: 4.7.3132.0
SOS Version: 4.7.3190.0

При проверке исходящих HTTP-запросов я вижу следующее:

WinDBG:

http://msdl.microsoft.com/download/symbols/mscordacwks_AMD64_AMD64_4.7.3132.00.dll/5B5542C49ec000/mscordacwks_AMD64_AMD64_4.7.3132.00.dll

Visual Studio:

http://msdl.microsoft.com/download/symbols/mscordacwks.dll/5B5541451ca000/mscordacwks.dll

Я удивлен, увидев, что файлы, которые они запрашивают, имеют разные пути.Мне кажется, что Visual Studio должна иметь дополнительную логику для поиска правильных mscordacwks (не уверен насчет SOS.dll) ... в чем разница между ними - почему версия Visual Studio не имеет архитектуры в названии?

В какой-то момент я увидел, что он работает, хотя после нахождения mscordacwks и помещения его в нужную папку, однако это не решение, так как мне нужно, чтобы это был автоматический процесс.

Может кто-нибудь сброситьЕсть ли какой-нибудь свет на то, что здесь происходит не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...