GDB/MI将stdin和stdout重定向到文件
问题描述:
我正在使用GDB Machine界面来调试从stdin读取并写入到sdtout的二进制文件。我想重定向stdin和stdout文件。与普通的GDB我可以使用运行命令是这样的:GDB/MI将stdin和stdout重定向到文件
run <input.txt> output.txt
有没有什么办法,也许使用GDB/MI命令类似-exec运行到这一点?
这里是类似的问题GDB/MI detecting target waiting for input但它似乎如此复杂,相比普通的gdb解决方案。
我还没有发现任何东西在文档: ftp://ftp.gnu.org/old-gnu/Manuals/gdb/html_chapter/gdb_22.html#SEC216
答
我找到了解决方案。可以将MI GDB命令与GDB命令一起使用。所以,如果我需要向前stdin和stdout到文件,我可以做这样的:
-
-file-exec-and-symbols <filename>
// ReadFile的在主要功能调试 -
-break-insert main
//设置断点(或任何esle) -
run <input.txt> output.txt
//向前stdin和stdout到文件 -
-exec-run
//开始调试
在这之后,你可以运行相同的步骤或-exec步或其他任何类似ÿ命令你通常会这样做。