debug版程序运行正常,release版程序运行出错
2016-01-26 14:21
281 查看
1. 检查是否有变量没有初始化,尤其是重要的控制变量。
debug会对程序中没有初始化的局部变量进行初始化(全局变量在两种版本中都会被初始化),而release不会,因此release版中没有初始化的变量的值运行时是不确定的。而debug版中没有初始化的整型会被初始化为0,指针也会被初始化为0,也就是空指针。这样就可以避免很多错误,或者使得错误的出现有规律,便于查错。
2. 定位release版本错误之处
逐个函数错误查找,依次在函数后面加入printf(“pass”)的信息,如果通过,则这个函数没问题,如果未通过,则仔细检查该函数,错误就出在此函数。
debug会对程序中没有初始化的局部变量进行初始化(全局变量在两种版本中都会被初始化),而release不会,因此release版中没有初始化的变量的值运行时是不确定的。而debug版中没有初始化的整型会被初始化为0,指针也会被初始化为0,也就是空指针。这样就可以避免很多错误,或者使得错误的出现有规律,便于查错。
2. 定位release版本错误之处
逐个函数错误查找,依次在函数后面加入printf(“pass”)的信息,如果通过,则这个函数没问题,如果未通过,则仔细检查该函数,错误就出在此函数。
相关文章推荐
- Spark性能调优
- 编译基于cent64,android,suse32平台程序
- view 转为image 清晰度不变
- Google C++编程风格指南(三)之作用域的相关规范
- 管理-如何制定OKR目标
- Google C++编程风格指南(三)之作用域的相关规范
- Python 编码规范(Google)
- 分享一个很好看的viewpager效果
- java之集合类
- HTML5播放器 MediaElement.js 使用方法
- 1.4.2 Mother's Milk(dfs)
- mysql的grant命令
- php 分页
- SVN常用命令
- YTU 2837: 编程题B-狐狸算卦
- 实体操作类,直接操作数据库无映射,缓存同步更新,单列模式
- iOS完美实现输入框随键盘无缝滑动的效果_KLCPopKeyBoard
- logback(三)
- sourcegrid统计报表画法以及EXCEL导出内容代码完全版
- php 错误和异常处理