c++ c linux backtrace addr2line

c++ - ¿Hay una biblioteca llamada a addr2line?



linux backtrace (2)

Necesito obtener la información provista por addr2line (archivo y línea del backtracing de una llamada de función) desde dentro de un programa C ++. ¿Hay una llamada de biblioteca similar a addr2line?

Edición: estoy trabajando en un entorno Linux.

Sé que puedo llamar a addr2line directamente y sé que puedo usar el código fuente de addr2line en mi programa (que también tiene licencia GPL). Pero supongo que llamar a una función de biblioteca, si existe, es más limpio.

Edición: Usaré bfd de binutils, tal como lo hace addr2line. ¿Qué significa bfd de todos modos?


Puedes probar la función dladdr() . Utiliza los símbolos dinámicos del programa, no la información de depuración (compile el programa con gcc -rdynamic ).

Además, puede consultar la biblioteca de stacktrace o la biblioteca de stacktrace nivel superior.
No es exactamente lo que estás preguntando, pero pueden resultar útiles.