2016-04-27 108 views
0

我正在使用中的條件斷點調試while循環。在while循環中創建了多個大型數組。我希望在調試時將它們打印在文件中,以便稍後使用diff進行比較。使用gdb將數組內容打印到文件中

我能夠在使用下面的命令控制檯來可視化內容:

(gdb) p *&ff[0]@10 

其中ff是我的數組。請告訴我如何將它們重定向到文本文件。

+0

爲什麼在打印時使用'*&'? –

+0

*是要打印的值 – Shreya

+0

您可以使用'(gdb)p ff [0] @ 10' –

回答

4

您可以使用:

(gdb) set logging file large_array.txt 
(gdb) set logging on 

默認情況下,日誌文件名是gdb.txt

您可以找到更多的細節:https://sourceware.org/gdb/onlinedocs/gdb/Logging-Output.html

還有一個WA gdb --args a.out arg1 ... |& tee gdb_out.txt

+0

這可行,但格式是一個問題。如果有數組內容重定向到某個文件,我希望如此。.. – Shreya

+0

@ShreyaKhare如果您可以更改源代碼,則可以按所需格式打印陣列。 –

+0

@ShreyaKhare你需要什麼格式? –

2

你使用

設置日誌記錄
(gdb) set logging on 

之後,所有的命令輸出都將輸出到一個名爲「gdb.txt」的文件中。您可以在文件中找到數組內容。