Débogage sous Windows 98: Prendre la ligne de code à partir EIP
-
12-10-2019 - |
Question
Je suis le codage sous Windows 98 (mode DOS) et mon programme crashe mal. Je peux reproduire le plantage très bien, mais mes astuces de débogage normales (trace de la pile, printf le tout pour isoler l'accident) ne parviennent pas, car la combinaison du mode graphique (VBE), le mode DOS et la gestion des interruptions est apparemment pas ce que GDB était fait pour.
J'ai essayé de commenter les parties de mon code pour isoler le problème, mais je ne peux pas tracer l'emplacement du code de l'accident exactement.
Donc tout ce que je peux obtenir est un tas de registres. Est-il possible de récupérer une ligne de code à partir des registres (comme EIP)? Je suis dans le codage C.
La solution
Après quelques googler, je l'ai trouvé un peu documentation GDB avec ceci:
symbole info adr
Cette commande semble être le plus proche chose que je pouvais trouver pour obtenir un nom de fonction d'une adresse. Il ne donnera pas la ligne de code exact, mais il vaut mieux que rien.