CPPUTest调试 - C ++

时间:2011-11-08 21:21:20

标签: c++ tdd cpputest

我正在学习TDD并在eclipse中使用CppUTest。 有没有办法调试我的代码,导致一个唠叨的分段错误。

由于

1 个答案:

答案 0 :(得分: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套件中的某些内容运行代码。这可能会捕获导致segfaults根本原因的问题,但不会出现在生成segfault的确切位置(例如,双重释放,以后使用的绑定数组访问blobbering指针等)。