ruger 发表于 2011-04-03 21:07

[GDB请教]:如何打印出某地址的变量名?

我的本意是查看data/bss/heap/stack等段的内容,通过gdb命令main i se打印出各段的地址空间范围(为运行前只有text/data/bss显示)
然后使用x显示相应地址的内容,但是我发现x/100s就能显示出变量明,其他格式就不行。比如说,我想知道0x80496e4地址上是什么变量,那么应该怎么操作?x/4s 0x80496e4?
能否以16进制的方式显示内容的同时,也显示变量名?

ruger 发表于 2011-04-03 21:12

回复 1# ruger


    另外,为啥x/8b 0x80496e4显示了9个地址范围,global_init+1没了?
(gdb) x/8sb 0x80496e4
0x80496e4 <data_start>:""
0x80496e5 <data_start+1>:      ""
0x80496e6 <data_start+2>:      ""
0x80496e7 <data_start+3>:      ""
0x80496e8 <global_init>:         "\v"
0x80496ea <global_init+2>:       ""
0x80496eb <global_init+3>:       ""
0x80496ec <dtor_idx.5793>:       ""

EricFisher 发表于 2011-04-06 18:43

用objdump试试?

unbutun 发表于 2011-04-09 21:43

info symbol 地址
页: [1]
查看完整版本: [GDB请教]:如何打印出某地址的变量名?