¿Alguien me puede ayudar a escribir un programa que puede leer archivos DWARF y me da el nombre del archivo, el número de línea y los detalles del nombre de la función.Lectura del archivo DWARF en Mac OSX
Respuesta
¿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
La especificación para ENANO-2 & ENANO-3 está aquí:
http://dwarfstd.org/dwarf-2.0.0.pdf
http://dwarfstd.org/Dwarf3.pdf
hay una biblioteca decente para la lectura de archivos DWARF aquí:
http://reality.sgiweb.org/davea/dwarf.html
Puede obtener y usar esa biblioteca para leer sus archivos DWARF (lee DWARF-2 y DWARF-3) o puede echar un vistazo al código fuente para descifrar cómo escribir su propio conjunto de bibliotecas/funciones para hacer el trabajo.
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:
- Traverse todas las unidades de compilación con dwarf_srclines()
- dwarf_srclines uso() en cada cu
- use dwarf_lineaddr() en cada entrada de la matriz devuelta por dwarf_srclines()
- recuerde utilizar dwarf_dealloc() en los lugares correctos.
- 1. ¿Busca los diccionarios del sistema Mac OSX?
- 2. compilando libqxt en mac osx
- 3. Instalar mod_mono en Mac OSX
- 4. Configuración de php.ini en MAC OSX
- 5. Tomcat, Netbeans Mac OSX Lion
- 6. No puedo editar bash_profile en Mac OsX
- 7. registrar un protocolo en mac osx?
- 8. Explicar el diseño del directorio JVM en Mac OSX Leopard
- 9. Obteniendo la dirección base del proceso en Mac OSX
- 10. Agregar una configuración regional en Mac OSX
- 11. Desarrollo C++ en Mac OSX 10.6
- 12. sniffer Bluetooth - preferiblemente mac osx
- 13. Building glew para Mac OSX
- 14. Android emulator Mac OSX ubicación
- 15. Ruby en Mac OSX a través de puertos Mac
- 16. Ubicación de Python en mac osx
- 17. Ruta de Java 7 en mac osx
- 18. Cómo degradar JRE/JDK en Mac OSX?
- 19. Impresión de Firemonkey en Mac OSX
- 20. principiante python en mac osx 10.8
- 21. Java Midi en Mac OSX ¿Roto?
- 22. Privilegios de escritura - localhost - Mac OSX
- 23. nodeJS + jslint: dónde instalar para mac OSX?
- 24. Lectura del resultado de syslog en una Mac
- 25. Lectura del archivo .csv en php
- 26. Lectura del archivo .properties en Ant build.xml
- 27. Archivo de mapa con GCC en OSX
- 28. Biblioteca para leer el archivo ELF Información de depuración DWARF
- 29. Lectura del error del archivo JSON
- 30. Portar una Aplicación GTK + a Mac OSX