В моем случае это так. смотрю на тупиковую ситуацию и пытаюсь найти потоки, которые удерживаются и ждут блокировки.
Код: Выделить всё
0:007> kb
# RetAddr : Args to Child : Call Site
00 00007ff8`d2cd3f30 : 00007fff`00000002 00007fff`99ebb8b8 000001e7`00000000 00000000`00000000 : ntdll!NtWaitForMultipleObjects+0x14
01 00007fff`f96ba234 : 00000094`4237f5b8 00007fff`f96d4d94 00000000`00000130 000001e7`e31567e0 : KERNELBASE!WaitForMultipleObjectsEx+0xf0
02 (Inline Function) : --------`-------- --------`-------- --------`-------- --------`-------- : coreclr!Thread::DoAppropriateAptStateWait+0x4a [D:\a\_work\1\s\src\coreclr\vm\threads.cpp @ 3333]
03 00007fff`f96ba085 : 00007fff`00000001 00007fff`00000001 00000000`00000001 00000000`00000001 : coreclr!Thread::DoAppropriateWaitWorker+0x170 [D:\a\_work\1\s\src\coreclr\vm\threads.cpp @ 3467]
04 00007fff`f96b9fa0 : 00000000`00000000 00007fff`00000001 00007fff`f96b9ef0 00007fff`99ebb8b8 : coreclr!Thread::DoAppropriateWait+0x85 [D:\a\_work\1\s\src\coreclr\vm\threads.cpp @ 3182]
Но если посмотреть на отображается шестнадцатеричный код, я не уверен, как прочитать счетчик?
является ли 00007fff f96d4d94 массивом дескрипторов?
Как тест, я смоделировал простой пример C#, где у меня было 3 задачи, ожидающих одного и того же мьютекса, но что я заметил в WinDBG при просмотре стеков потоков, так это то, что 2 из них имели одинаковое значение для аргументов для дочерних элементов (первые два параметра ), а у третьего было что-то другое?
Как мне читать эти данные?
Подробнее здесь: https://stackoverflow.com/questions/792 ... s-to-child
Мобильная версия