2012-07-02 14 views
6

Digamos que he adjuntado gdb a un proceso y que en su disposición de memoria hay un número de archivo y línea del que me gustaría la dirección de memoria. ¿Cómo puedo obtener la dirección de memoria de la línea n en el archivo x? Esto está en Linux x86.gdb buscar la dirección de memoria del número de línea

+0

Más o menos un duplicado de [gdb desmontar por número de línea] (http://stackoverflow.com/questions/11285932/gdb-disassemble-by-line-number) - la respuesta a esa pregunta es una respuesta perfectamente buena para esto uno también – duskwuff

Respuesta

13
(gdb) info line test.c:56 
Line 56 of "test.c" starts at address 0x4005ae <main+37> 
    and ends at 0x4005ba <main+49>. 

, además, con el pitón es posible que pueda utilizar el atributo 'última' de Symbol-Tables-In-Python este momento requiere una versión muy reciente del GDB de CVS, pero me imagino que tendrá disponibilidad general en 7,5

(gdb) py x = gdb.find_pc_line(gdb.decode_line("test.c:56")[1][0].pc); gdb.execute("p/x " + str(x.pc)); gdb.execute("p/x " + str(x.last)) 
$15 = 0x4005ae 
$16 = 0x4005b9 
+0

gracias por la ayuda. –

+0

línea de información! Eso es lo que necesitábamos en esa otra pregunta. –

Cuestiones relacionadas