【问题标题】:What are the go-to tools for finding errors in C code? [closed]在 C 代码中查找错误的首选工具是什么? [关闭]
【发布时间】:2013-08-16 11:20:04
【问题描述】:

它可以是静态或动态分析,最好是免费的。

【问题讨论】:

  • 我真的很喜欢使用 gcc 的输出。我觉得它让你在编译之前不会看到代码出错,从而让你了解更多。另外,你无法击败悬念!
  • 我更喜欢编译器。启用额外警告后,现代编译器非常擅长发现问题。
  • @devnull C 不是 C++。
  • @PascalCuoq 我知道,但是除了描述可能有帮助的编译器标志之外,该链接确实提到了用于 C 的夹板等工具。

标签: c static-analysis dynamic-analysis


【解决方案1】:
  • cppcheck 检查 C 和 C++ 代码并发现许多错误。

  • Valgrind 是用于运行时分析的工具,但我还是提到了它。它对于跟踪内存错误(例如未初始化的使用或泄漏)非常有用。

  • 另外,激活编译器的所有警告(GCC 和 clang:-Wall -Wpedantic -Wextra),这通常会显示有用的信息。

  • 注意:clang 有时会产生比 GCC 更好的警告/错误

  • 但是,要查找逻辑错误,需要进行测试。无论如何都需要进行测试,未测试的东西会根据定义被破坏,因为您不能假设它有效。
    Wikipedia 有一个 C 单元测试软件列表。

【讨论】:

  • 运行时分析和动态分析不一样吗?
  • 只是措辞不同。
猜你喜欢
  • 2011-11-11
  • 1970-01-01
  • 2017-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多