Не понял немного - ты и идёшь "пошагово по коду". Именно по коду. Один шаг= одна инструкция ЦП. Если тебе надо шагать не по коду, а по строчкам кода, измени "размер шага".
Мануал перечесляет след. команды и опции kd для ходьбы по сорсам:
.lines enable source line information
...(покусано)
l+t stepping will be done by source line
l+s source lines will be displayed at prompt
...(покусано)
pr execute one source line, and toggle register display off
p execute one source line
здесь много нажёвано:
http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspxиспользовал вышеприведенные советы - включил .lines -e и опции для .l, далее получилось следующее:
- если нажимать просто p - в строке имеем то же самое - kd> p
nt!RtlpBreakWithStatusInstruction+0x1:
- если сначала через ln узнать адрес функции, скажем, driverentry, и запустить p=<адрес DriverEntry> в строке отображается следующая функция на выполнение, теперь если снова нажать p выдается вообще такое:
kd> p
*** Fatal System Error: 0x000000d1
(0xF1E405E0,0x0000001C,0x00000000,0xF1E405E0)
Break instruction exception - code 80000003 (first chance)
A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.
A fatal system error has occurred.
так что - надо так? - сначала узнавать адрес следующей ф-ции через ln и только потом выполнять p=<адрес DriverEntry>
:new_twist: :new_shot: