[英]CPPUTest debugging - C++
我正在学习TDD并在eclipse中使用CppUTest。 有没有办法调试我的代码得到一个唠叨的分段错误。
谢谢
我不知道CppUTest或Eclipse有什么特别的东西可以帮助你,但是一些通用的段错误调试思路似乎合适:
将刷新打印语句(例如printf(...)+ fflush(stdout)或fprintf(stderr,...))添加到您的代码中,看看打印的内容。 以二进制搜索方式执行此操作,一次只打印几次,直到您精确缩小崩溃位置。 这听起来很古老但非常有效。 这是一个我发现谷歌搜索的指南,谈论这个众所周知的技术: http : //www.floccinaucinihilipilification.net/blog/2011/3/24/debugging-via-binary-search.html
使用调试符号编译代码并在调试器中运行它。 当你遇到段错误时,请求回溯,看看你是否能弄明白发生了什么。 执行此操作时,使用图形调试器尤其有用。
使用调试工具(如调试malloc库)或valgrind套件中的某些内容运行代码。 这可能会捕获导致segfaults根本原因的问题,但不会发生在生成segfault的确切位置(例如,双重释放,以后使用的绑定数组访问blobbering指针等)。
如果您可以在问题中添加一些代码,让我们更好地了解您的反对意见,将会很有帮助。 不知道任何细节,我建议如下:
-v
添加到可执行文件的参数中。 这将在执行时打印测试用例的名称。 打印的姓氏可能是发生分段错误的测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.