在使用Valgrind工具時,我需要記錄由valgrind工具生成的詳細信息。我怎麼能做到這一點?我想是這樣,如何將Valgrind的輸出重定向到文件?
valgrind a.out | test
和
valgrind a.out > test
這給了剛剛程序的輸出,而不是Valgrind的內存錯誤,泄露信息。即使我喜歡這個,如果該程序不需要用戶交互(即提供輸入)。如果該程序需要用戶輸入,即使該東西本身也無法工作。
我該怎麼做?
在使用Valgrind工具時,我需要記錄由valgrind工具生成的詳細信息。我怎麼能做到這一點?我想是這樣,如何將Valgrind的輸出重定向到文件?
valgrind a.out | test
和
valgrind a.out > test
這給了剛剛程序的輸出,而不是Valgrind的內存錯誤,泄露信息。即使我喜歡這個,如果該程序不需要用戶交互(即提供輸入)。如果該程序需要用戶輸入,即使該東西本身也無法工作。
我該怎麼做?
默認情況下,Valgrind將其輸出寫入stderr。因此,您需要執行以下操作:
valgrind a.out > log.txt 2>&1
或者,您可以告訴Valgrind在其他地方寫入;見http://valgrind.org/docs/manual/manual-core.html#manual-core.comment(但我從來沒有嘗試過)。
如果您只是想用較少的讀取日誌,您還可以設置選項--log-fd。 例如:
valgrind --log-fd=1 ls | less
謝謝,這節省了我的硬盤! –
您是否試過重定向stout和stderr? 'valgrind a.out&>文件' – sidyll