2012-06-03 17 views
5

Desarmar solo una línea de código en gdb; para hacer esto, necesito la dirección de memoria de dicha línea. ¿Cómo puedo obtener la dirección de una determinada línea de código en gdb? O mejor aún, ¿hay un comando en gdb para desmontar por número de línea?gdb desmontar una línea

Respuesta

3

Ponga un freno en la línea que desea desmontar y luego, podría tratar de obtener la instrucción actual con.

disp/i $pc 

Esto siempre funciona para mí, cuando depuro binarios sin información de depuración. También uno podría simplemente obtener el pc actual ya sea por print $pc o info registers o simplemente usar la instrucción x. ej .:

x/10i address //displays the first 10 instructions in assembly starting from address 

o

x/10i register //displays the first 10 instructions starting from address stored in register 
2

Se puede utilizar: set disassemble-next-line on a diassemble por número de línea. Luego, use la técnica que desee para establecer un punto de interrupción en la línea específica que desea ver.

Cuestiones relacionadas