首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CPPUTest调试- C++

CPPUTest调试- C++
EN

Stack Overflow用户
提问于 2011-11-09 05:21:20
回答 2查看 2K关注 0票数 0

我正在学习测试驱动开发和使用eclipse中的CppUTest。有没有办法调试我的代码,得到一个纠缠不休的分段错误。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-09 05:50:51

我不知道CppUTest或Eclipse中有什么特别的东西可以帮助您,但是一些通用的段错误调试思想在这里似乎是合适的:

  • 添加刷新打印语句(例如printf(...) + fflush(stdout)或fprintf(stderr,...))添加到您的代码中,并查看打印的内容。以二分搜索的方式,一次只需打印几张照片,直到你缩小了崩溃的范围。这听起来很老套,但却非常有效。这是我在谷歌上找到的一份指南,它讨论了这项众所周知的技术:使用调试符号http://www.floccinaucinihilipilification.net/blog/2011/3/24/debugging-via-binary-search.html
  • Compile您的代码,并在调试器中运行它。当你遇到段错误时,请求一个回溯,看看你是否能弄清楚发生了什么。在执行此操作时,将graphical debugger.
  • Run与调试工具(如debug malloc libraryvalgrind套件中的其他工具)配合使用可能特别有用。这可能会捕捉到一些问题,这些问题是段错误的根本原因,但并不是发生在生成段错误的确切位置(例如,双重释放、超出界限的数组访问阻塞指针,等等)。
票数 3
EN

Stack Overflow用户

发布于 2015-04-30 03:10:20

如果你能在你的问题中添加一些代码,让我们更好地了解你面对的是什么,这将是很有帮助的。在不知道任何细节的情况下,我建议:

  1. 在调试对话框中将-v添加到可执行文件的参数中。这将在执行测试用例时打印测试用例的名称。打印的最后一个名称可能是发生分段错误的测试。
  2. 在该测试用例中放置了一个断点,在该测试用例中,您可以在代码中调用被测代码
  3. Step直到出现分段错误。
  4. 回溯导致分段错误的值(通常是悬空指针),并找出其为NULL或uninitialized.

的原因

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8057207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档