В windbg есть ли способ отсортировать потоки на основе последнего действия? - PullRequest
1 голос
/ 01 августа 2020

Наше приложение периодически зависает. Мы получили дамп памяти, и я загрузил его на windbg. В windbg показано более 100 потоков.

Я хочу знать, какой из последних потоков был выполнен до того, как произошло зависание. Итак, я хочу отсортировать потоки на основе последнего действия. Есть ли способ / команда проверить это?

1 Ответ

0 голосов
/ 03 августа 2020

То, что вы описываете, часто называют отладкой путешествия во времени . К сожалению, невозможно увидеть, как выполняются потоки, без предварительной записи трассировки .

Вам доступна команда !runaway, которая отобразит список потоков, отсортированных по времени выполнения с момента запуска процесса. Это может, по крайней мере, дать вам представление о том, какие потоки выполняют большую часть работы. отправная точка для выяснения причины зависания процесса. А в некоторых случаях !locks и DebugDiag могут предоставить некоторую полезную информацию о состоянии программы во время зависания.

...