如何解决调用从gdb读取
我想在调试时从stdout读取,但是我一直返回-1。这是我的gdb会话的一部分:
(gdb) call fflush(stdout)
$16 = 0
(gdb) p/x malloc(50)
$17 = 0xb7fff2e0
(gdb) call read(stdout,(void *) 0xb7fff2e0,49)
$19 = -1
我还假设如果stdout文件中没有任何内容,则调用read应该返回零。我会读stderr以获得更多信息,但是当然这也会失败。
解决方法
您正在调用read,它需要一个文件描述符,但是您正在传递FILE *
尝试
call read(0,(void *) 0xb7fff2e0,49)
此外,与从stdin读取相比,为stdout读取内容似乎很奇怪
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。