J'essaie d'automatiser la session de débogage d'un pilote de périphérique sous Windows XP avec Windbg. Mon appareil possède un registre "index" et un registre "data", tous deux mappés en mémoire. Le registre d'index doit être rempli avec l'index du registre interne, et la valeur peut être lue dans le registre de données. Ainsi, les impressions de commande followind WinDBG correctement la valeur du internel registre 0x4C:Extension de pseudo-gorges Windbg
!ed [uc] 0xfa000000 0x4c; !dd [uc] 0xfa000004 L1
Maintenant, je voudrais vider une gamme de registres internes, mais il semble que l'expansion d'alias ne fonctionne pas comme prévu dans la commande! ed. Je suis en train de ce cycle:
.for (r $t0=0; @$t0<0x100; r [email protected]$t0+1) { !ed [uc] 0xfa000000 @$t0; !dd [uc] 0xfa000004 L1 }
mais il semble que la commande ed est ignorée, comme si @ $ t0 a été agrandi en une chaîne vide!. Essayé "$ t0", "@ $ t0", "$ {t0}" et "@ $ {t0}", mais sans succès. Qu'est-ce que je fais mal?
Cela fonctionne! Je vous remercie! –