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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top