3

オブジェクト ファイルがある場合、そのオブジェクト ファイルのデータ セグメント内のグローバル変数の初期化された値をどのように取得しますか? たとえば、次のことを行ったとします。

# 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

これはfoo、サイズ 4 のデータ セグメントのオフセット 0x48 にあることを示していますが、ロード時に実際に初期化された値を取得するにはどうすればよいですか?

4

1 に答える 1

6

理解した:

objdump -j.data -s bar.o

これにより、データ セグメントの 16 進ダンプが得られるため、値を簡単に検索できます。objdump -dコードを逆アセンブルするために以前に使用したことがありますが、この-sオプションは初めてです。

于 2010-02-26T18:27:17.627 に答える