VC调试篇:减少运行时错误,中断所有异常
问题简述
我在Win7下写的MFC程序,想让它在winXP下运行。一般情况下,如果所有的依赖库都可以在XP下运行的话,那么在XP下运行时没问题的。但是,结果却。。。
本来程序在win7下运行得好好的,又没有依赖win7的库,为什么会报错呢? 怎么样在win7下提早发现这些运行时错误?
调试方法
通过询问度娘,认为出现上述情况的原因可能有以下几种:
- 数组的访问越界。
- 程序中的野指针 (指针没有初始化就使用,指针为空等)
我最后发现程序中使用了未初始化的指针。这个野指针在win7下竟然能运行!能运行!天啊,这算是win7系统的优化吗。。。
提前找到这些运行时错误,中断所有异常
为了减少运行时的错误,应该在调试时尽可能地让所有的错误都暴露出来。这种野指针的异常 在VS2010 竟然不是默认就会捕获的。。那要怎么开启中断所有异常呢。
在 VS2010 下 ,通过选择菜单中的 调试 -> 异常,弹出如下对话框
默认情况下,红框中的选项都是没有选中的,只要选中红框中的所有选项,即可中断所有异常。
总结
- 尽早暴露异常。
- 中断所有异常。
转载于:https://www.cnblogs.com/smallpi/p/7190930.html
VC调试篇:减少运行时错误,中断所有异常相关推荐
- VC调试器高级应用(转)
VC调试器高级应用----高级断点篇 一.位置断点修饰符 1.跳跃计数. 功能是执行断点但不在断点处停止,直到执行完了一个特定的次数为止. 使用中首先设置一个标准的位置断点,打开B ...
- VC++调试技巧学习总结
VC6.0调试方法 有时候,我们编写好一个程序后,希望通过调试来知道变量值的变化情况,下面我和大家分享一下怎么利用VC6.0来查看变量值变化情况. 工具/原料 VC6.0软件.待测试程序 方法/步骤 ...
- OD使用教程10 - 调试篇10|解密系列
OD使用教程10 - 调试篇10 让编程改变世界 Change the world by program 大家或许有所察觉了,随着我们课程的不断深入学习,我们感觉自身逆向的"内功&quo ...
- 技术科普丨平台效果调试篇1—灰区和权重
转载自技术科普丨平台效果调试篇1-灰区和权重 当你使用手机拍照的时候,有没有发现这种现象,在选自动白平衡的时候,图像整体色调是正常的,但是手动勾选其他光源的时候,会出现不同程度的偏色.为什么呢? 手动 ...
- 基于stm32的两轮自平衡小车4(软件调试篇)
本篇是软件调试篇,接上一篇硬件篇:基于stm32的两轮自平衡小车3(硬件篇),本篇内容是对硬件部分的软件实现,具体模块详见目录.这里先上效果:转B站 目录 定时器PWM驱动程序 定时器编码器模式驱动程 ...
- ddr老化测试_【鼎阳硬件智库原创︱DDR 】 DDR硬件调试篇:DDR硬件设计调试测试 之二...
DDR硬件调试篇 前言:大家自己设计的产品出来后都有遇到一些什么样的DDR问题呢?这些问题是否为致命问题,一定要解吗?如果机器已经生产出来,却发现DDR硬件问题导致系统不稳定,机器是否作废了,有没有软 ...
- VC调试器高级应用----系统函数,DLL段点
一.高级断点语法 高级断点语法由两部分组成:1.上下文部分.2.位置,表达式,变量或Windows消息条件. 用函数,源文件和二进制模块来指定上下文,上下文的表示方法: {[函数],[源文件] ...
- OD使用教程6 - 调试篇06|解密系列
OD使用教程6 - 调试篇06 让编程改变世界 Change the world by program 这一讲开始,小甲鱼带大家接触真正程序的逆向.其实也没啥大不了的,也就是对之前所学的知识进行巩 ...
- OD使用教程18 - 调试篇18
OD使用教程18 - 调试篇18 让编程改变世界 Change the world by program 十八,是一个神奇的数字. 每每提起,总让人心旷神怡. 例如十八精神,例如十八岁的天空,例如 ...
最新文章
- BrupSuite渗透测试笔记(十一)
- STM32核心板电路分析
- Android Studio javadoc 生成注释文档
- Ubuntu 18.10安装MySql8.0.13
- 还不会用springboot写接口?快看这里,手把手操作,一发入魂~
- python调用sdk接口_Python SDK使用说明
- 平衡小车之家_人教版高中物理必修一 专题 共点力作用下的动态平衡 公开课优质课课件教案视频...
- python os 遍历 子目录中所有文件_Python处理文件系统的10种方法 !
- JS控制文本框禁止输入特殊字符
- 第四章 选择结构程序设计习题总结
- 专业生物信息linux系统,Evvail | Bio-Linux:生物信息专用Linux系统 | Omics - Hunter
- matlab coder 4.0,利用MATLAB Coder将MATLAB代码生成C/C++代码
- lgv30刷android10,记一次LG V30系列手机完美刷入MIUI12系统和Flyme刷机教程
- 设置笔记本电脑插入USB鼠标时,自动禁用触摸板
- 【ROM制作工具】小白如何进行ROM解包,精简,修改,授权,打包详细图文教程...
- 洛谷——P1361 小猫爬山
- Spring AOP 切面@Around注解的具体使用
- JS数组常用方法整理-1
- 变态而有趣的微软面试题及答案
- PPTP - GRE