Domanda

Se si dispone di un file oggetto, come si fa a ottenere il valore inizializzato di una variabile globale nel segmento di dati di quel file oggetto? Ad esempio, dire che ho fatto la seguente:

# I'm interested in the variable foo inside bar.o in libbar.a:
$ ar -x libbar.a bar.o
$ nm --print-size bar.o | grep foo
00000048 00000004 D foo

Questo mi dice che è foo all'offset 0x48 nel segmento di dati con dimensioni 4, ma come faccio a ottenere il valore reale inizializzato ottiene su di carico?

È stato utile?

Soluzione

capito:

objdump -j.data -s bar.o

Questo dà un hexdump del segmento di dati, rendendo più semplice per cercare valori. Ho usato objdump -d prima di smontare il codice, ma l'opzione -s è nuovo per me.

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