2010-02-26 50 views
1

如果你有一個目標文件,你如何獲得該目標文件數據段中全局變量的初始化值?例如,假設我已經做了以下內容:如何從對象文件中獲取全局變量的初始化值?

# 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是抵消了數據段0x48大小爲4,但我如何獲得實際的初始值是獲得在負載?

回答

3

想通了:

objdump -j.data -s bar.o 

這使數據段的hexdump都可以,因此很容易查找值。我之前使用objdump -d來反彙編代碼,但-s選項對我來說是新的。