小编Eri*_*ric的帖子

调试Debug和Release版本之间差异的最佳实践和工具?

我已经看过帖子谈论可能导致 Debug和Release版本之间存在差异的内容,但我认为没有人从开发的角度解决了什么是解决问题的最有效方法.

我在Release版本中出现错误而不是在Debug中出现的第一件事就是我通过valgrind运行我的程序,希望能有更好的分析.如果没有显示任何内容, - 而这在我之前发生过 - 那么我会尝试各种输入,希望在Debug版本中也能显示错误.如果失败了,那么我会尝试跟踪更改以找到两个版本在行为上分歧的最新版本.最后我想我会采用印刷语句.

当Debug和Release版本不同时,是否有任何最佳的软件工程实践可以有效地进行调试?此外,有哪些工具在比​​valgrind更基础的层面上运行以帮助调试这些案例?

编辑:我注意到很多回复表明一些一般的良好做法,如单元测试和回归测试,我同意这些做法非常适合发现任何错误.但是,是否有针对此Release与Debug问题专门定制的内容?例如,是否有静态分析工具这样的东西说"嘿,这个宏或这个代码或这个编程实践是危险的,因为它有可能导致你的Debug/Release版本之间的差异?"

c c++

11
推荐指数
1
解决办法
1288
查看次数

标签 统计

c ×1

c++ ×1