Какой номер прерывания в IDT представляет прерывание RTC

#windows #64-bit #windbg

Вопрос:

Я использую WinDbg для сброса содержимого IDT, и я хотел бы знать, какой номер прерывания представляет прерывание часов реального времени в этой таблице вещей ? Я запустил !idt —команду для сброса содержимого IDT в Windbg.Но не может определить, какая строка принадлежит прерыванию RTC.

Ответ №1:

Возможно, вам придется предоставить немного более подробную информацию о том, что вы сделали, и где вы застряли
, так как ваш запрос не привлечет четких ответов

для начала, вы сбросили таблицы дескрипторов прерываний
с помощью предоставленной команды bang !idt с ее аргументами и не удовлетворены результатами ?

 0: kd> .shell -ci "!idt" grep -i clock
<.shell waiting 10 second(s) for process>
d1:     fffff8033cf51908 hal!HalpTimerClockInterrupt (KINTERRUPT fffff8033d725100)
d2:     fffff8033cf51910 hal!HalpTimerClockIpiRoutine (KINTERRUPT fffff8033d725000)
.shell: Process exited
0: kd>  
 

вы смотрели на команду таймера !обеспечивает ли она то, что вы ищете ?

 0: kd> !timer
Dump system timers

Interrupt time: 26a78346 00000515 [11/27/2021 12:49:47.524]

List Timer    Interrupt Low/High     Fire Time              DPC/thread
PROCESSOR 0 (nt!_KTIMER_TABLE fffff80339a7a800)
  0 ffffc388b8805180    27d3e28b 00000515 [11/27/2021 12:49:49.493]  thread ffffc388b8805080
 

вы также должны знать, что в более новой операционной системе это тени из-за постоянного повышения безопасности операционных систем.

Комментарии:

1. Привет @blabb. Я пытаюсь найти (визуально) адрес прерывания RTC (с помощью команды !idt) в Windbg, но не знаю, какое это прерывание. Нет, я не пробовал команду !таймер. Не могли бы вы подробнее описать, что означают результаты выполнения команды !timer ? Моя конечная цель-написать код на языке Си для сброса содержимого прерывания RTC в текстовый файл. Спасибо.