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