История изменений
Исправление HE_KOT, (текущая версия) :
Удалось настроить отладку ядра оффтопика и словить вызов целевого метода.
Стек вызовов выглядит следующим образом:
1: kd> KP
# Child-SP RetAddr Call Site
00 fffff684`562fecd0 fffff803`22e0f16c ACPI!DebugQuit+0x30
01 fffff684`562fed10 fffff803`22e0f2d6 ACPI!DbgExecuteCmd+0xe4
02 fffff684`562fed70 fffff803`22e0de6d ACPI!Debugger+0x122
03 fffff684`562ff0e0 fffff803`22e1c5cd ACPI!AMLIDebugger+0x2d
04 fffff684`562ff110 fffff803`22e1cb44 ACPI!ParseOpcode+0x7d
05 fffff684`562ff150 fffff803`22e14860 ACPI!ParseScope+0x114
06 fffff684`562ff180 fffff803`22dc619a ACPI!RunContext+0x11c
07 fffff684`562ff1d0 fffff803`22e11b8a ACPI!InsertReadyQueue+0x1a6
08 fffff684`562ff210 fffff803`22e150a4 ACPI!RestartContext+0x92
09 fffff684`562ff250 fffff803`22e1587d ACPI!AsyncEvalObject+0x3c4
0a fffff684`562ff2b0 fffff803`22e084fd ACPI!SyncEvalObject+0x1e1
0b fffff684`562ff360 fffff803`22dc4bc0 ACPI!AMLIEvalNameSpaceObject+0x151
0c fffff684`562ff3c0 fffff803`22dc7575 ACPI!ACPIIoctlEvalControlMethod+0x18e
0d fffff684`562ff460 fffff803`22dc10db ACPI!ACPIIrpDispatchDeviceControl+0x62e5
0e fffff684`562ff4a0 fffff803`1dc29cd5 ACPI!ACPIDispatchIrp+0xcb
0f fffff684`562ff520 fffff803`58b7eda1 nt!IofCallDriver+0x55
10 fffff684`562ff560 ffffc28d`4f7bad50 0xfffff803`58b7eda1
11 fffff684`562ff568 fffff803`58b8a560 0xffffc28d`4f7bad50
12 fffff684`562ff570 ffffc28d`5b190690 0xfffff803`58b8a560
13 fffff684`562ff578 ffffc28d`5b06add0 0xffffc28d`5b190690
14 fffff684`562ff580 00000000`00000001 0xffffc28d`5b06add0
15 fffff684`562ff588 ffffc28d`5b3d0001 0x1
16 fffff684`562ff590 00000000`00000101 0xffffc28d`5b3d0001
17 fffff684`562ff598 00000000`00000000 0x101
Сервер отладочных символов подключил, но всё, что до IofCallDriver, не именуется, а меня интересует именно инициатор вызова.
Скорее всего, всё, что выше строки 0b, касается отладчика. Это вызывает вопросы, правильный ли стек я смотрю.
Может, у кого-то есть соображения, как это расковырять?
Исходная версия HE_KOT, :
Удалось настроить отладку ядра оффтопика и словить вызов целевого метода.
Стек вызовов выглядит следующим образом:
1: kd> KP
# Child-SP RetAddr Call Site
00 fffff684`562fecd0 fffff803`22e0f16c ACPI!DebugQuit+0x30
01 fffff684`562fed10 fffff803`22e0f2d6 ACPI!DbgExecuteCmd+0xe4
02 fffff684`562fed70 fffff803`22e0de6d ACPI!Debugger+0x122
03 fffff684`562ff0e0 fffff803`22e1c5cd ACPI!AMLIDebugger+0x2d
04 fffff684`562ff110 fffff803`22e1cb44 ACPI!ParseOpcode+0x7d
05 fffff684`562ff150 fffff803`22e14860 ACPI!ParseScope+0x114
06 fffff684`562ff180 fffff803`22dc619a ACPI!RunContext+0x11c
07 fffff684`562ff1d0 fffff803`22e11b8a ACPI!InsertReadyQueue+0x1a6
08 fffff684`562ff210 fffff803`22e150a4 ACPI!RestartContext+0x92
09 fffff684`562ff250 fffff803`22e1587d ACPI!AsyncEvalObject+0x3c4
0a fffff684`562ff2b0 fffff803`22e084fd ACPI!SyncEvalObject+0x1e1
0b fffff684`562ff360 fffff803`22dc4bc0 ACPI!AMLIEvalNameSpaceObject+0x151
0c fffff684`562ff3c0 fffff803`22dc7575 ACPI!ACPIIoctlEvalControlMethod+0x18e
0d fffff684`562ff460 fffff803`22dc10db ACPI!ACPIIrpDispatchDeviceControl+0x62e5
0e fffff684`562ff4a0 fffff803`1dc29cd5 ACPI!ACPIDispatchIrp+0xcb
0f fffff684`562ff520 fffff803`58b7eda1 nt!IofCallDriver+0x55
10 fffff684`562ff560 ffffc28d`4f7bad50 0xfffff803`58b7eda1
11 fffff684`562ff568 fffff803`58b8a560 0xffffc28d`4f7bad50
12 fffff684`562ff570 ffffc28d`5b190690 0xfffff803`58b8a560
13 fffff684`562ff578 ffffc28d`5b06add0 0xffffc28d`5b190690
14 fffff684`562ff580 00000000`00000001 0xffffc28d`5b06add0
15 fffff684`562ff588 ffffc28d`5b3d0001 0x1
16 fffff684`562ff590 00000000`00000101 0xffffc28d`5b3d0001
17 fffff684`562ff598 00000000`00000000 0x101
Сервер отладочных символов подключил, но всё, что до IofCallDriver, не именуется, а меня интересует именно инициатор вызова.
Может, у кого-то есть соображения, как это расковырять?