0
A
回答
2
我不知道CppUTest或者Eclipse什麼特別的幫助你,但一些通用的段錯誤調試的想法似乎是適當的位置:
添加沖洗打印語句(如printf的(...)+ fflush(stdout)或fprintf(stderr,...))到您的代碼並查看打印內容。以二進制搜索的方式執行此操作,每次只打印幾張照片,直到您縮小,確切地說發生崩潰。這聽起來很舊,但非常有效。這裏有一個指南,我發現谷歌搜索這個知名的技術:http://www.floccinaucinihilipilification.net/blog/2011/3/24/debugging-via-binary-search.html
編譯你的代碼與調試符號,並在調試器中運行它。當你遇到段錯誤時,要求回溯,看看你能否弄清楚發生了什麼。當這樣做時,使用graphical debugger會特別有幫助。
使用類似debug malloc library或valgrind套件的調試工具運行您的代碼。這可能會引發問題,這些問題是段錯誤的根本原因,但不會發生在生成段錯誤的確切位置(例如,double frees,以後使用的數組訪問clobbering指針超出等等)。
0
如果您可以在您的問題中添加一些代碼,以便更好地瞭解您所面臨的問題,那將會很有幫助。不知道任何細節,我會建議如下:
- 將
-v
添加到您的可執行文件在調試對話框中的參數。這將在您的測試用例執行時打印出您的測試用例的名稱。打印的姓氏可能是發生分段故障的測試。 - 將斷點在該測試情況下,如果你打電話給你的代碼測試
- 跳入代碼,直到段錯誤發生。
- 追溯導致段錯誤的值(通常是一個懸掛指針)並找出它爲什麼是NULL或未初始化的值。
相關問題
- 1. 特徵與CPPUTest?
- 2. CppUTest不工作
- 3. CppUTest單元測試框架多重定義例外
- 4. TDD爲C.如何編譯和運行我的第一個測試與CppUTest?
- 5. CPPUTEST存儲器刪除
- 6. CppUTest示例不起作用
- 7. CppUtest示例鏈接錯誤
- 8. cpputest - 約測試用例輸出的更多信息
- 9. 如何在cpputest單元測試中注入依賴
- 10. Objective C調試
- 11. C#,調試HTTPHandler
- 12. 在C#調試
- 13. C++ DLL調試
- 14. Xcode C++調試
- 15. 調試從C#
- 16. 調試C#GUI
- 17. 的Ubuntu 14.04 cpputest例子建立失敗
- 18. 使用Visual Studio調試器調試C++
- 19. C#單調軟調試器
- 20. 遠程調試爲C/C++
- 21. 調試C/C++與IPython的
- 22. 如何調試C++ dll調用C++ DllImport
- 23. 用gdb調試C
- 24. 調試C++代碼
- 25. C#調試屬性
- 26. 調試Valgrind in C
- 27. 調試崩潰(C++)
- 28. 調試時C ++ LNK1561
- 29. Visual C++ CRT調試
- 30. 調試線程 - C#
感謝您的信息。我用gdb做了一些調試,對設置調試環境不太熟悉。第二和第三點是他們的任何參考或一些鏈接,這將有助於我的設置。 – Saaras
我添加了幾個可能對您有幫助的鏈接。 (它們都不是特定於Eclipse的,因爲我不是一個沉重的Eclipse用戶,但這些常規技術可以在任何地方工作。) – wjl