WinDBG Args для дочернего процессаC#

Место общения программистов C#
Ответить
Anonymous
 WinDBG Args для дочернего процесса

Сообщение Anonymous »

Я видел несколько руководств, в которых упоминается, что раздел «Args to Child» можно использовать для чтения параметров, передаваемых в вызываемый метод.
В моем случае это так. смотрю на тупиковую ситуацию и пытаюсь найти потоки, которые удерживаются и ждут блокировки.

Код: Выделить всё

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]

Первый параметр WaitForMultipleObjectsEx — это счетчик, а второй — указатель на массив дескрипторов.
Но если посмотреть на отображается шестнадцатеричный код, я не уверен, как прочитать счетчик?
является ли 00007fff f96d4d94 массивом дескрипторов?
Как тест, я смоделировал простой пример C#, где у меня было 3 задачи, ожидающих одного и того же мьютекса, но что я заметил в WinDBG при просмотре стеков потоков, так это то, что 2 из них имели одинаковое значение для аргументов для дочерних элементов (первые два параметра ), а у третьего было что-то другое?
Как мне читать эти данные?

Подробнее здесь: https://stackoverflow.com/questions/792 ... s-to-child
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»