He intentado ejecutar valgrind (memcheck y macizo) en una aplicación que escribí, pero todo lo que obtengo son direcciones para las funciones que se ejecutaron.¡Valgrind no devolverá las líneas de origen!
---------------------------------
Context accounted for 0.6% of measured spacetime
0x805F29A: (within prog_name)
0x8141740: (within prog_name)
Called from:
0.6% : 0x812E077: (within prog_name)
---------------------------------
Context accounted for 0.5% of measured spacetime
0x805F29A: (within prog_name)
0x81418FB: (within prog_name)
Called from:
0.5% : 0x812E077: (within prog_name)
compilé mi aplicación con la bandera -g para poner los símbolos de depuración en. ¿Hay alguna otra razón por la cual valgrind no mostraría la línea de fuente?
EDIT: valgrind version 3.2.1-Debian; g ++ 4.3.1
No estoy seguro, pero si Usted 'gdb prog_name' su aplicación y prueba algo como' break 0x812E077', ¿'gdb' muestra los números de línea? (No debería necesitar siquiera 'ejecutar 'el programa, solo tiene' gdb' cargarlo.) – aschepler
@aschepler - Lo intenté. Cada vez que trato de hacer eso, gdb no puede encontrar la función llamada "0x812E077" y pregunta si está en una biblioteca que se cargará más tarde ... así que eso no funcionó. –
Vaya, debería haber sido 'break * 0x812E077'. Pero me alegro de que hayas encontrado una solución. – aschepler