c++ - 如何减少C++程序的崩溃

标签 c++ crash

我有一个用 C++ 实现的大型软件,由 VC10 SP1 构建。源代码行数超过 1500 万行。它被交付到 Windows 平台,包括 win32 和 x64。从崩溃报告来看,平均崩溃时间仅为 40 分钟左右。

我想尽最大努力减少崩溃并延长平均崩溃时间。有人可以分享你在实践中所做的事情或者有什么建议吗?任何意见表示赞赏。

谢谢,

杰弗里

最佳答案

这称为调试,或寻找错误的艺术。

有很多方法可以提高软件质量。

设计阶段:

  • 设计评审
  • 代码审查
  • 静态分析工具

早年:

  • 单元测试
  • 模糊测试(如适用)
  • 集成测试
  • 端到端测试

所有这些都可以在经过检测的代码上运行(例如,激活 STL 调试,使用特定的调试内存分配器,连接监控工具/调试器)。

注意:如果应用程序包含多个组件,则单元/模糊测试更容易应用,因为目标是测试尽可能小的单元。

注意:在实现新功能或修复错误以防止回归时,不要忘记扩展测试套件。

生命中:

  • 人为事故报告(并试图重现......)效率不高
  • 自动崩溃报告(Windows 上有实用程序)非常好

培养质量取决于您。

仅供引用:我使用的软件每天 7 天 24 小时运行,当我们每周发生一两次崩溃时,我们认为我们搞砸了; 45min 绝对是错误的。

关于c++ - 如何减少C++程序的崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7657419/

相关文章:

c++ - 在 C++ 中使用类和枚举

c++ - 在 C++ 中调度异常

c++ - 自动矢量化对齐

iphone - NSFileManager 在应用程序委托(delegate)中崩溃

windows - Git Bash 控制台在打开时崩溃

cocoa - 在 Rosetta 中运行垃圾收集应用程序时如何调试崩溃?

c++ - Derived1::Base 和 Derived2::Base 是否指代相同的类型?

c++ - boost pool_alloc

ios - 设备连接到Xcode时,应用工作正常,但在特定位置安装ipa时失败

iphone - 超过150张图像的ScrollView崩溃