Il debug in Windows 98: Get riga di codice da EIP
-
12-10-2019 - |
Domanda
sto codifica in Windows 98 (modalità DOS) e il mio programma si blocca male. Posso riprodurre l'incidente più che bene, ma i miei normali trucchi di debug (stack trace, printf il tutto per isolare l'incidente) stanno fallendo, perché la combinazione di modalità grafica (VBE), modalità e interrupt DOS la manipolazione non è evidentemente quello che GDB era fatta per.
Ho provato commentando parti del mio codice per isolare il problema, ma non riesco a rintracciare la posizione del codice dello schianto esattamente.
Quindi, tutto quello che posso ottenere è un mucchio di registri. C'è un modo per recuperare una riga di codice da registri (come EIP)? Sto codifica in C.
Soluzione
Dopo un po 'googling, ho trovato un po' documentazione GDB con questo:
Informazioni sul simbolo addr
Utilizzando questo comando sembra essere la cosa più vicina che ho trovato per ottenere un nome di funzione da un indirizzo. Non darà l'esatta linea di codice, ma è meglio di niente.