Re[4]: Kernel debugging
От: CBOSS  
Дата: 21.10.02 15:02
Оценка:
Здравствуйте whiteForest, Вы писали:

F>Найди все потоки отлаживаемого приложения, опередели поток в который ты хочешь войти. Усыпи все остальные потоки, с условием что они не будут блокировать отлаживаемый поток.Понизь приоритет отлаживаемого потока до минимального. Попробуй присоединить к нему отлачик или установить ловушки в SoftIce.


А какой это даст эффект? Ведь висит в kernel, а там приоритет моего потока, мне кажется, не канает...

Вот kernel-стек. Юзер-стек этого thread-а я снять не смог. После непродолжительного гуляния по отладчику комп ушел в рестарт. Замел, гад, следы
0: kd> k
ChildEBP RetAddr
beb64c64 800653c3 nt!KiFlushNPXState+0x84
beb64c8c 80469fd3 hal!HalEndSystemInterrupt+0x57
beb64cc4 a0015cad nt!MiReserveSystemPtes+0x53
beb64cf0 a00148cb win32k!HMValidateHandleNoSecure+0x1
beb64d0c a0014965 win32k!EXFORMOBJ::vQuickInit+0x5
beb64d30 a0014999 win32k!DEVLOCKOBJ::bLock+0x4f
e2343c68 00000000 win32k!vSynchronizeDriver+0x26

Похоже на то, что где-то здесь все и зацикливается, во всяком случае из win32k!EXFORMOBJ::vQuickInit точно не выходит.

Сейчас пробую разобраться с SoftIce. Не мог бы ты рассказать как ставить ловушки, о которых ты говорил.
И как в нем смотреть стеки интересующих меня потоков? А то как ни войду в него по Ctrl+D почти все время HAL!HalProcessorIdle вижу, а как на другие потоки смотреть — непойму

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.