2017-03-17 87 views
0

我正在使用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

回答

0

我找到了解決方案。可以將MI GDB命令與GDB命令一起使用。所以,如果我需要向前stdin和stdout到文件,我可以做這樣的:

  1. -file-exec-and-symbols <filename> // ReadFile的在主要功能調試
  2. -break-insert main //設置斷點(或任何esle)
  3. run <input.txt> output.txt //向前stdin和stdout到文件
  4. -exec-run //開始調試

在這之後,你可以運行相同的步驟或-exec步或其他任何類似ÿ命令你通常會這樣做。

相關問題