Domanda

In linux moderna quasi tutti gli oggetti vengono spogliati e diviso in due parti (due file). In primo luogo è di per sé eseguibile e il secondo è i simboli di debug, spogliato dalla ELF originale. Tali file vengono creati con

objcopy --only-keep-debug original.elf binary.dbg
mv original.elf binary
objcopy --strip-debug binary

Come posso unire binary e binary.dbg in un file ELF con informazioni di debug? Voglio ricreare unstripped, binario originale. Esso non può essere byte per byte uguale all'originale, ma deve avere un simboli di debug all'interno.

PS Sì, so di sezione gnu.debuglink, ma non funziona per alcuni debugger (etnus) e disassemblatori (objdump non è possibile ripristinare i simboli info)

È stato utile?

Soluzione

Per ELF, la confezione contiene un elfutils chiamato eu-unstrip strumento che fa il lavoro. Nel contesto del vostro esempio:

eu-unstrip binary binary.dbg

binary.dbg ora ha sia il binario e simboli di debug. Mi piacerebbe includere un riferimento alla documentazione se riuscivo a trovare qualsiasi ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top