deadlock'и
От: Аноним  
Дата: 19.03.08 02:20
Оценка:
Как проще всего анализировать и устранять причину deadlock'ов в legacy файловых фильтрах с помощью WinDbg ? Сейчас у меня система виснет, как понять где она висит ? Может как-то перечислить можно все потоки и для каждого посмотреть стек вызовов? Как это можно сделать? Спасибо.
Re: deadlock'и
От: Геннадий Майко США  
Дата: 19.03.08 04:30
Оценка:
Здравствуйте,

А>Как проще всего анализировать и устранять причину deadlock'ов в legacy файловых фильтрах с помощью WinDbg ? Сейчас у меня система виснет, как понять где она висит ?

--
Можно попробовать писать, а затем анализировать или отладочные сообщения (DebugPrint), или сохранять лог работы где-то в глобальном кольцевом буфере.

C уважением,
Геннадий Майко.
Re: deadlock'и
От: Sergey Storozhevykh Россия  
Дата: 19.03.08 07:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Может как-то перечислить можно все потоки и для каждого посмотреть стек вызовов? Как это можно сделать? Спасибо.


для начала !stacks
a если остались вопросы, то !process 0 7
Re: deadlock'и
От: TarasCo  
Дата: 19.03.08 08:06
Оценка: 1 (1)
Включить Driver Verifier и пользоваться командой windbg !deadlock.
Да пребудет с тобою сила
Re: deadlock'и
От: axxie  
Дата: 19.03.08 10:19
Оценка:
Ещё можно сделать !locks, и поискать запись (или записи) с большим contention count'ом. Это для ERESOURCE.
Re: deadlock'и
От: Anatoliy.Sviridenkov Россия  
Дата: 19.03.08 11:54
Оценка: -1
Здравствуйте, Аноним, Вы писали:

А>Как проще всего анализировать и устранять причину deadlock'ов в legacy файловых фильтрах с помощью WinDbg ? Сейчас у меня система виснет, как понять где она висит ? Может как-то перечислить можно все потоки и для каждого посмотреть стек вызовов? Как это можно сделать? Спасибо.


Комментировать куски, откулючив весь функционал и почуть раскомментируя проверять. Другог варианта я для себя не нашел.
Re[2]: deadlock'и
От: Alter_ Украина http://alter.org.ua
Дата: 22.03.08 10:21
Оценка:
Здравствуйте, TarasCo, Вы писали:

TC>Включить Driver Verifier и пользоваться командой windbg !deadlock.


B есть еще смысл погонять на 1-процессорной машине (тоже с включеным verifier'ом).
Т.к. часть проверок (судя по коду ядра) не исполняется на многомроцессорках.
Как писали в комментариях — во избежания внутренних deadlocks.
--
Alter, http://alter.org.ua
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.