2009-05-03 21 views

Respuesta

-5

¿Qué es un archivo DWARF? Quizás los archivos DWARF definen funciones como función (xxx) como lo hacen muchos lenguajes. En ese caso, se sugiere emplear grep -n -R "function.*(" /dwarf/*.DWARF

1

Puede echar un vistazo a avr-readelf en binutils. La función display_debug_lines() en binutils/dwarf.c hace el trabajo de decodificar la información DWARF de número de artículo.

Además, como se sugirió anteriormente, puede usar libdwarf. Hace un buen trabajo al ocultar las complejidades de bajo nivel de DWARF y le permite concentrarse en obtener los datos.

Después de configurar libdwarf con un elfdescriptor y conseguir una estructura Dwarf_Debug, puede hacer lo siguiente:

  1. Traverse todas las unidades de compilación con dwarf_srclines()
  2. dwarf_srclines uso() en cada cu
  3. use dwarf_lineaddr() en cada entrada de la matriz devuelta por dwarf_srclines()
  4. recuerde utilizar dwarf_dealloc() en los lugares correctos.