Отладка ядра в VS 2012

У меня есть проект драйвера фильтра режима ядра. Хост: Win8 Pro x64 под управлением VS2012, цель: Win8 Pro x64 VM на том же компьютере. Мне удалось подготовить виртуальную машину через VS 2012 по сети. Я развернул пакетный проект. Когда я пытаюсь развернуть и установить пакет из VS, у меня ничего не получается. Поэтому я вручную установил драйвер, и драйвер работает нормально. После установки драйвера вручную я подключаюсь к ядру виртуальной машины и нажимаю Break all. Я нахожу консоль Kd в ближайшем окне VS '12. Я набираю команду «bu !DriverEntry», а затем команду «g». Я вижу сообщение Debuggee работает. Когда я размещаю точки останова в своем коде и нажимаю любую клавишу в виртуальной машине, я не вижу, чтобы точки останова попадали в мой код. Нужна помощь!!


person Aster Veigas    schedule 31.08.2013    source источник


Ответы (2)


Используйте команду Fltmc, чтобы загрузить и прикрепить фильтр к определенному диску.

Вы можете ставить точки останова непосредственно в VS без необходимости ввода в консоль, если ваш фильтр загружается после того, как вы набираете fltmc load «имя фильтра», VS должен останавливаться на точке останова функции входа в драйвер, вам также может понадобиться прикрепить его.

Не забудьте проверить, работает ли ваш отладчик, когда вы нажмете кнопку «Разбить», все целевые машины должны зависнуть.

person sinofis    schedule 31.08.2013
comment
Команда fltmc должна вводиться через VS? Я попробую и свяжусь с вами. - person Aster Veigas; 01.09.2013
comment
Вы вводите командную строку на целевой машине с правами администратора. - person sinofis; 01.09.2013
comment
Команда fltmc не сработала. Это дало мне ошибку Невозможно загрузить драйвер, когда я пытаюсь загрузить драйвер из той же папки. - person Aster Veigas; 02.09.2013
comment
Неважно, откуда вы его запускаете, он ищет драйверы, установленные в вашей системе. Не знаете, почему вы получаете эту ошибку, не забудьте запустить команду с правами администратора и попробуйте загрузить только шаблон фильтра без дополнительного кода. - person sinofis; 03.09.2013

Я не смог отладить через VS. Я пошел на работу, и на этот раз я использовал виртуальную машину Win7. Использовал метод KdPrint() и использовал инструмент DebugView для просмотра сообщений. Это длительный процесс, но, по крайней мере, я могу отладить свой драйвер. Надеюсь, это тоже поможет кому-то еще

person Aster Veigas    schedule 03.09.2013