让gdb像objdump一样反汇编,显示对应的机器码列,该如何做?

发布于 2022-09-09 19:09:36 字数 2 浏览 8 评论 9

如题

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

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

发布评论

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

评论(9

jJeQQOZ5 2022-09-20 14:23:16

回复 9# 帅绝人寰

    你的面子很大啊。加/r的那个patch是由两个redhat的大牛,一个google大牛,一个ibm大牛,一个cs大牛写的。

桃扇骨 2022-09-20 13:51:17

允许我吹牛一句哈,/r这个功能是我强烈要求严正抗议郑重建言, 才有人写的。。。gdb这么多年来一直用x命令看opcode,土死了。

剪不断理还乱 2022-09-20 13:20:08

我是在baidu上找一些入门资料看的,先把基本的命令掌握,然后在实际的调试中碰到问题时再去查。

我想如果有那么一本gdb参考书几百页,你从头到尾看一遍,也不一定能记住多少。

还是用多少,学多少。

有可能的话,可以看看gdb的源码,这样理解更深刻。

说了这么多,我其实也是才入门的。

晨曦÷微暖 2022-09-20 12:08:22

请问下楼主 gdb如何学习?参考哪些资料学习比较好/。

热风软妹 2022-09-20 08:12:08

disassemble有时回出问题,显示出来有一定的参考作用

筑梦 2022-09-19 20:20:28

disassemble
显示出机器码干什么用?

帅气称霸 2022-09-18 23:20:34

本帖最后由 qtdszws 于 2010-03-22 21:56 编辑

刚才查了一下,知道了
用disassemble /r 命令
这个最新的gdb7.0支持,以前的好像不行

他夏了夏天 2022-09-10 18:18:45

objdump的输出

  1. 0000000000401be0 <_init>:
  2.   401be0:       48 83 ec 08             sub    $0x8,%rsp
  3.   401be4:       e8 03 06 00 00          callq  4021ec <call_gmon_start>
  4.   401be9:       e8 62 06 00 00          callq  402250 <frame_dummy>
  5.   401bee:       e8 bd ca 0a 00          callq  4ae6b0 <__do_global_ctors_aux>
  6.   401bf3:       48 83 c4 08             add    $0x8,%rsp
  7.   401bf7:       c3                      retq   

复制代码gdb的输出

  1. (gdb) disassemble _init
  2. Dump of assembler code for function _init:
  3. 0x0000000000401be0 <_init+0>:   sub    $0x8,%rsp
  4. 0x0000000000401be4 <_init+4>:   callq  0x4021ec <call_gmon_start>
  5. 0x0000000000401be9 <_init+9>:   callq  0x402250 <frame_dummy>
  6. 0x0000000000401bee <_init+14>:  callq  0x4ae6b0 <__do_global_ctors_aux>
  7. 0x0000000000401bf3 <_init+19>:  add    $0x8,%rsp
  8. 0x0000000000401bf7 <_init+23>:  retq   
  9. End of assembler dump.

复制代码没有机器码

好多鱼好多余 2022-09-10 09:40:17

disassemble

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