繁体   English   中英

GDB / MI将标准输入和标准输出重定向到文件

[英]GDB/MI redirect stdin and stdout to files

我正在使用GDB机器接口调试从stdin读取并写入sdtout的二进制文件。 我想将stdin和stdout都重定向到文件。 使用普通的GDB,我可以使用如下运行命令:

run < input.txt > output.txt

有什么办法可以类似地使用GDB / MI命令-exec-run吗?

这是GDB / MI检测目标等待输入的类似问题但与普通的gdb解决方案相比,它看起来是如此复杂。

我也没有在文档中找到任何内容: ftp : //ftp.gnu.org/old-gnu/Manuals/gdb/html_chapter/gdb_22.html#SEC216

您应该能够将mi命令-inferior-tty-set与mkfifo实用程序一起使用。

我找到了解决方案。 可以将MI GDB命令与GDB命令一起使用。 因此,如果我需要将stdin和stdout转发到文件,我可以这样做:

  1. -file-exec-and-symbols <filename> //要调试的读取-file-exec-and-symbols <filename>
  2. -break-insert main //在主函数(或esle的任何地方)上设置断点
  3. run < input.txt > output.txt //将stdin和stdout转发到文件
  4. -exec-run //开始调试

之后,您可以运行诸如step或-exec-step之类的命令,或者像平时一样执行其他操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM