2011-07-01 29 views
35

我的程序有一個段錯誤的問題,但它的故障很少(曾在20次以上),並調試它在GDB,我需要直到分段故障發生時手動重新運行該程序(在重播的半天只一旦失敗:()。如何使用gdb重新運行程序,直至出現分段錯誤?

所以問題是,有沒有辦法告訴GDB重新運行程序,直到一些段錯誤?

回答

49

在程序的觸發run命令出口放一個斷點,不要忘記set pagination off上設置信息的命令是在gdb的文檔的Breakpoint Command Lists部分提供簡而言之:。

set pagination off 
break exit 
commands 
run 
end 

commands線後,你會看到,在未來的兩行被輸入爲達到斷點時要執行的命令。

+11

將在退出函數中設置斷點,「破發出境命令運行結束」 :) – MKo

+0

這工作在我的情況,但它運行5次,然後我必須按回車鍵繼續,並運行另一個5倍。這是通常的嗎? –

+3

答案似乎是「設置分頁關閉」gdb – fijal

相關問題