我正面臨一個如此神祕的問題,我甚至不知道如何制定這個問題......我甚至無法發佈任何代碼。不可重現的運行時錯誤 - 一般方法?
我自己開發一個大項目,從頭開始。這幾乎是發佈時間,但我無法擺脫一些惱人的錯誤。我的程序輸出文件寫入不時和期間,我得到兩種:
- 的std :: string out_of_range錯誤
- 的std :: string length_error
- 只是大量的廢話輸出
值得注意的是,即使輸入相同,這些錯誤也很少出現,並且從不會被再現。 Memcheck顯示沒有內存違規,即使在之前提到錯誤的運行中也是如此。 Cppcheck也沒有抱怨。我使用STL和pthreads集中,但沒有後者一個錯誤也會發生。
我試過最新的g ++和icpc。我正在使用某個版本的Ubuntu,但我不認爲這是它的原因。
對於如何解決這些問題,我將不勝感激。 在此先感謝。
我有時整個字符串例外來編譯應用程序,並且大多數情況下,這是因爲我在參數字符串方法以錯誤的方式傳遞 - 例如,'string :: append',例如追加單個字符,順序是count,然後是char,我經常反過來輸入它。這真的很難調試,直到一些奇怪的事情發生... – Nim 2011-03-01 11:08:14
這可能屬於程序員不是stackoverflow? – CashCow 2011-03-01 11:47:55
「很少」罕見?如果你運行兩三個小時,你認爲這個bug會出現嗎? – 2011-03-01 12:16:22