Там будет два пути в целом:
- посмертной отладки. Обычно это то, что вы делаете, когда у вас нет локальной машины для воспроизведения сбоя. В этом случае вы проверяете файл crashdump (полный или мини-дамп).
- живая отладка. В этом случае, если вы знаете, что система собирается сбой, вы готовите одну машину для управления этим аппаратом с помощью WinDbg и подключаетесь через последовательный или FireWire-кабель. Последнее намного быстрее.
Однако я согласен с тем, что вы уступаете слишком мало деталей. Вы «зацепились»? Ну, как? SSDT-подключение? Или вы используете надлежащий способ написания драйвера фильтра? Если драйвер фильтра, какая модель? Мини-фильтр или старый фильтр?
Я только что заметил ваш комментарий, что вы подключаете «NtOpenProcess и NtQueryDirectoryFile», так что это звучит как SSDT-hooking. Что вы делаете в своей реализации? Я знаю много драйверов, которые не соответствуют SSDT-подключению. Он начинается с метода, используемого для установки крючка, и обычно не заканчивается смелой реализацией.
Обратите внимание, что для живой отладки WinDbg предлагает некоторые прекрасные функции для переноса и загрузки последней версии драйвера во время загрузки. Таким образом, вы можете отлаживать свою последнюю версию без дополнительной подготовки. Отладчик ядра на удаленном конце и WinDbg на вашем компьютере позаботится об этом.
Кроме того, вы можете отправить свой вопрос в списки в OSR (а именно NTDEV).
Это почти как сказать: «Доктор, сегодня я плохо себя чувствую, вы можете мне помочь?» – Mehrdad
Доктор, у меня болит рука, когда я это делаю. Тогда не делайте этого. – leppie
Мне нужно подключить внешний жесткий диск к системе –