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

发布于 2022-09-30 18:19:00 字数 215 浏览 16 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苏辞 2022-10-07 18:19:00

回复 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>:       ""

铃予 2022-10-07 18:19:00

用objdump试试?

回忆追雨的时光 2022-10-07 18:19:00

info symbol 地址

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文