我正在使用gdb中的條件斷點調試while
循環。在while
循環中創建了多個大型數組。我希望在調試時將它們打印在文件中,以便稍後使用diff
進行比較。使用gdb將數組內容打印到文件中
我能夠在使用下面的命令控制檯來可視化內容:
(gdb) p *&ff[0]@10
其中ff
是我的數組。請告訴我如何將它們重定向到文本文件。
我正在使用gdb中的條件斷點調試while
循環。在while
循環中創建了多個大型數組。我希望在調試時將它們打印在文件中,以便稍後使用diff
進行比較。使用gdb將數組內容打印到文件中
我能夠在使用下面的命令控制檯來可視化內容:
(gdb) p *&ff[0]@10
其中ff
是我的數組。請告訴我如何將它們重定向到文本文件。
您可以使用:
(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
這可行,但格式是一個問題。如果有數組內容重定向到某個文件,我希望如此。.. – Shreya
@ShreyaKhare如果您可以更改源代碼,則可以按所需格式打印陣列。 –
@ShreyaKhare你需要什麼格式? –
你使用
設置日誌記錄(gdb) set logging on
之後,所有的命令輸出都將輸出到一個名爲「gdb.txt」的文件中。您可以在文件中找到數組內容。
爲什麼在打印時使用'*&'? –
*是要打印的值 – Shreya
您可以使用'(gdb)p ff [0] @ 10' –