在没有测试数据的情况下查找段错误

时间:2013-03-20 07:49:43

标签: c++ debugging testing segmentation-fault

这可能看起来像一个愚蠢的问题,但我需要知道,如果有任何工具可以在我的代码中找到可能的段错误点而没有测试数据,则会导致段错误。特别是一些用于测试正确使用指向数组中项目的指针的工具

2 个答案:

答案 0 :(得分:2)

一般来说有几个选项:

  • 代码评论(不是作为计算机程序的工具,但仍然是一种工具)
  • 静态代码分析器
  • 模糊测试

答案 1 :(得分:1)

一个非常好的选择是ValgrindMemCheck。即使数据不会立即导致分段错误,也可能存在无效的内存访问(悬空指针,未初始化变量的读取,缓冲区溢出,堆损坏......)。这将指出它们发生的时间而不是等待可能仅在距离问题本身很远的情况下发生的分段错误,允许您修复它们。