Qualcuno può aiutarmi a scrivere un programma in grado di leggere i file DWARF e fornirmi il nome del file, il numero di riga e i dettagli del nome della funzione.Lettura del file DWARF in Mac OSX
risposta
Che cos'è un file DWARF? Forse i file DWARF definiscono le funzioni come funzione (xxx) come fanno molte lingue. In quel caso, io suggerisco di usare grep -n -R "function.*(" /dwarf/*.DWARF
La specifica per NANO-2 & NANO-3 è qui:
http://dwarfstd.org/dwarf-2.0.0.pdf
http://dwarfstd.org/Dwarf3.pdf
C'è una biblioteca decente per la lettura dei file NANI qui:
http://reality.sgiweb.org/davea/dwarf.html
Puoi ottenere e usare quella libreria per leggere i tuoi file DWARF (legge DWARF-2 e DWARF-3) oppure puoi dare un'occhiata al codice sorgente per scoprire come scrivere il tuo set di librerie/funzioni da fare il lavoro.
Si potrebbe dare un'occhiata a avr-readelf in binutils. La funzione display_debug_lines() in binutils/dwarf.c svolge il compito di decodificare le informazioni del numero di biancheria DWARF.
Inoltre, come suggerito sopra, è possibile utilizzare libdwarf. Questo fa un buon lavoro di nascondere le complessità di basso livello di DWARF e ti permette di concentrarti su come ottenere i dati.
Dopo aver impostato libdwarf con un'elfdescriptor e di ottenere una struct Dwarf_Debug, è possibile effettuare le seguenti:
- Traverse tutte le unità di compilazione con dwarf_srclines()
- uso dwarf_srclines() su ogni cu
- usa dwarf_lineaddr() su ogni voce dell'array restituita da dwarf_srclines()
- ricorda di usare dwarf_dealloc() nei posti giusti.
- 1. Lunghezza coda del disco su Mac OSX
- 2. UNIX/Linux/Mac OSX ottiene l'autorizzazione del file come numero
- 3. compiling libqxt in mac osx
- 4. Scrivi privilegi - localhost - Mac OSX
- 5. Come dividere sql in MAC OSX?
- 6. Installa Numpy Mac Osx Python
- 7. Aggiungere una locale in Mac OSX
- 8. Rinominare i file in modo ricorsivo Mac OSX
- 9. Ruby su Mac OSX tramite porte Mac
- 10. Installazione (costruire) matplotlib in Mac OSX Lion
- 11. Building glew per Mac OSX
- 12. Cronologia dei comandi del terminale mac osx di backup
- 13. CMake - osx/mac - brew openssl
- 14. Installazione BeautifulSoup su Mac OSX
- 15. Percorso Java 7 in mac osx
- 16. Java Midi in Mac OSX interrotto?
- 17. TableView con Lazy caricamento in mac osx
- 18. Emulatore Android Ubicazione Mac OSX
- 19. SVN server per Mac OSX
- 20. Tomcat, Netbeans Mac OSX Lion
- 21. Stampa Firemonkey su Mac OSX
- 22. Come disinstallare pow (node) su mac osx
- 23. fs.watch via Nodo 0.5.9 su Mac OSX
- 24. Mac OSX prompt git branch aware
- 25. Generazione di un file .bundle con CMake su MAC OSX
- 26. Come si avvia un'applicazione all'avvio del sistema? (Mac OSX, Cocoa)
- 27. Impossibile modificare bash_profile su Mac OsX
- 28. Playframework reload not working Mac OSX
- 29. Emacs + Mac OSX e modifica del font predefinito
- 30. nodeJS + jslint: dove installare per mac OSX?