1. 为啥要在Release下调试,直接在Debug下调试不香嘛?
原因有2:
- 我是在用用C++写OpenSim的控制程序,OpenSim的程序基本都是在Release模式下运行的(我也不太清楚为啥Debug模式不太行),但是我又需要调试信息,看一些中间变量,所以不得不寻找一种可以在Release模式下调试的机制;
- 发布版本中发生的许多错误可能不会在调试版本中发生。
2. 怎么配置Release下调试?
-
右键单击您的项目,选择“属性”。
-
单击C / C ++节点。将调试信息格式设置为C7兼容(/ Z7)
-
展开“链接器 --> 常规”节点。将启用增量链接设置为否(/ INCREMENTAL:NO)
-
展开链接器 --> 调试 。将生成调试信息设置为是(/ DEBUG)
-
选择链接器 --> 优化” 。将参考设置为是(/ OPT:REF)
3. 设置后效果
亲测可用!!
4. 额外小tips
Debug称之为调试版本,编译的结果通常包含调试信息,没有做任何优化,方便开发人员进行调试。Release版本就是加了优化的版本,也称之为发布版本,不会携带调试信息,同时编译器对编码做了很多优化,使得代码更小,速度更快,发布给用户使用以获得更好的体验,但是Release模式编译比Debug模式耗时也更多。