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