我有一个用 C++ 实现的大型软件,由 VC10 SP1 构建。源代码行数超过 1500 万行。它被交付到 Windows 平台,包括 win32 和 x64。从崩溃报告来看,平均崩溃时间仅为 40 分钟左右。
我想尽最大努力减少崩溃并延长平均崩溃时间。有人可以分享你在实践中所做的事情或者有什么建议吗?任何意见表示赞赏。
谢谢,
杰弗里
最佳答案
这称为调试,或寻找错误的艺术。
有很多方法可以提高软件质量。
在设计阶段:
- 设计评审
- 代码审查
- 静态分析工具
早年:
- 单元测试
- 模糊测试(如适用)
- 集成测试
- 端到端测试
所有这些都可以在经过检测的代码上运行(例如,激活 STL 调试,使用特定的调试内存分配器,连接监控工具/调试器)。
注意:如果应用程序包含多个组件,则单元/模糊测试更容易应用,因为目标是测试尽可能小的单元。
注意:在实现新功能或修复错误以防止回归时,不要忘记扩展测试套件。
在生命中:
- 人为事故报告(并试图重现......)效率不高
- 自动崩溃报告(Windows 上有实用程序)非常好
培养质量取决于您。
仅供引用:我使用的软件每天 7 天 24 小时运行,当我们每周发生一两次崩溃时,我们认为我们搞砸了; 45min 绝对是错误的。
关于c++ - 如何减少C++程序的崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7657419/