call printf gdb到这里后下不去

发布于 2022-09-18 18:08:43 字数 2992 浏览 11 评论 0

call printf下面还有两行代码,gdb无法单步调试了。怎么搞

在call printf的时候

80481dc:        e8 b7 ff ff ff               call   8048198 <printf@plt>
80481e1:        83 c4 08                     add    $0x8,%esp
80481e4:        6a 00                          push   $0x0
80481e6:        e8 bd ff ff ff               call   80481a8 <exit@plt>

然后进入这里

08048188 <printf@plt-0x10>:
8048188:        ff 35 90 92 04 08            pushl  0x8049290
804818e:        ff 25 94 92 04 08            jmp    *0x8049294
8048194:        00 00                              add    %al,(%eax)
        ...

08048198 <printf@plt>:
8048198:        ff 25 98 92 04 08            jmp    *0x8049298
804819e:        68 00 00 00 00               push   $0x0
80481a3:        e9 e0 ff ff ff                    jmp    8048188 <printf@plt-0x10>

printf用结束后,该返回到call printf的下面这里执行阿
80481e1:    83 c4 08                 add    $0x8,%esp
80481e4:    6a 00                      push   $0x0
80481e6:    e8 bd ff ff ff           call   80481a8 <exit@plt>

可是,我gdb直接下面没反应了。出现:
(gdb) n
Single stepping until exit from function printf@plt,
which has no line number information.
0x08048188 in ?? ()
(gdb) n
Cannot find bounds of current function

libc6 ,gdb6.8这个应该没问题吧
请问怎么回事阿。

[ 本帖最后由 inselberg 于 2009-4-25 12:27 编辑 ]

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

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

发布评论

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

评论(3

请止步禁区 2022-09-25 18:08:43

初学汇编,真的很菜,但请高人们帮忙解决阿。不然我没法调东西,直接狗屁了阿。

最丧也最甜 2022-09-25 18:08:43

可能是个库,所以进不去了,没有符号表

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