Я пытаюсь автоматизировать сеанс отладки драйвера устройства в Windows XP с помощью Windbg. Мое устройство имеет регистр «индекс» и регистр «данные», оба отображены в памяти. Регистр индекса должен быть заполнен индексом внутреннего регистра, и значение может быть считано из регистра данных.
Итак, следующая команда Windbg правильно выводит значение внутреннего регистра 0x4C:
!ed [uc] 0xfa000000 0x4c; !dd [uc] 0xfa000004 L1
Теперь я хотел бы вывести ряд внутренних регистров, но похоже, что расширение псевдонима не работает должным образом в команде! Ed. Я пытаюсь этот цикл:
.for (r $t0=0; @$t0<0x100; r $t0=@$t0+1) { !ed [uc] 0xfa000000 @$t0; !dd [uc] 0xfa000004 L1 }
но кажется, что команда! Ed игнорируется, как если бы @ $ t0 был развернут в пустую строку.
Пробовал "$ t0", "@ $ t0", "$ {t0}" и "@ $ {t0}", но безуспешно. Что я делаю не так?