软件开发过程中的Debug与Release问题
软件开发的过程中,我们往往使用的是Debug版本,究其原因无非就是使用Debug进行开发调试方便容易发现并纠正问题。这样,伴随着子工程、模块及代码量逐渐增长我们均使用Debug方式进行调试编译,在大多数人看来只要是Debug编译通过了,Release只是一个编译的过程而已,然而实际情况却并非这样。当我们一直使用Debug进行开发,工程量大到一定的程度后,再想用Release进行编译就会遇到N多问题,而解决这些问题所要付出的代价是巨大的,因此就不得不给客户提交一个Debug版本的软件。
解决这个问题最好的方法就是:在开发的过程中使用Debug,但是要固定的隔一段时间强制性的要求整个项目使用Release进行编译,程序员也要养成定期进行Release编译的习惯。当然,也有很多公司就采用了许多极端的手段来处理这个问题,例如:员工在开发的初始阶段就强制使用Release版本进行开发,这样就不会出现版本发布的问题。
Release版本的代码也可以调试
在我们“理所当然”的印象中,只有Debug工程可以单步调试,Release工程是无法调试的,其实则不然,工作那会儿就有同事给我演示了通过修改VS2008实现Release版本程序的调试。
以VS2008 Release工程调试修改方法为例:
1、项目——》属性——》C/ C++ ——》 常规 ——》调试信息格式——》用于“编辑并继续”的程序数据库(/ZI)
2、项目——》属性——》C/ C++ ——》 优化——》优化——》禁用(/Od)
3、项目——》属性——》链接器 ——》生成调试信息——》是(/DEBUG)
怀念我的工作时光,想念曾经与我同行的那些同事,感谢窦哥给我讲解的Release版本代码的调试方法。
我们团队有着十几年的期货程序化交易算法与软件研发经验,基于C++ Qt技术研发了具有自主知识产权的期货智能程序化交易一体化系统平台,该平台封装了二百多个量化指标,具有低时延、高性能、小滑点、可定制和跨平台的特点。团队致力于将人工智能技术与传统的程序化交易技术相结合为客户提供灵活可定制的期货智能程序化交易服务和产品。
2012年6月24日 于 北京邮电大学新科研楼302