问题简述

我在Win7下写的MFC程序,想让它在winXP下运行。一般情况下,如果所有的依赖库都可以在XP下运行的话,那么在XP下运行时没问题的。但是,结果却。。。

本来程序在win7下运行得好好的,又没有依赖win7的库,为什么会报错呢? 怎么样在win7下提早发现这些运行时错误?

调试方法

通过询问度娘,认为出现上述情况的原因可能有以下几种:

  1. 数组的访问越界。
  2. 程序中的野指针 (指针没有初始化就使用,指针为空等)

我最后发现程序中使用了未初始化的指针。这个野指针在win7下竟然能运行!能运行!天啊,这算是win7系统的优化吗。。。

提前找到这些运行时错误,中断所有异常

为了减少运行时的错误,应该在调试时尽可能地让所有的错误都暴露出来。这种野指针的异常 在VS2010 竟然不是默认就会捕获的。。那要怎么开启中断所有异常呢。

在 VS2010 下 ,通过选择菜单中的 调试 -> 异常,弹出如下对话框

默认情况下,红框中的选项都是没有选中的,只要选中红框中的所有选项,即可中断所有异常。

总结

  1. 尽早暴露异常。
  2. 中断所有异常。

转载于:https://www.cnblogs.com/smallpi/p/7190930.html

VC调试篇:减少运行时错误,中断所有异常相关推荐

  1. VC调试器高级应用(转)

    VC调试器高级应用----高级断点篇 一.位置断点修饰符  1.跳跃计数.        功能是执行断点但不在断点处停止,直到执行完了一个特定的次数为止.   使用中首先设置一个标准的位置断点,打开B ...

  2. VC++调试技巧学习总结

    VC6.0调试方法 有时候,我们编写好一个程序后,希望通过调试来知道变量值的变化情况,下面我和大家分享一下怎么利用VC6.0来查看变量值变化情况. 工具/原料 VC6.0软件.待测试程序 方法/步骤 ...

  3. OD使用教程10 - 调试篇10|解密系列

    OD使用教程10 - 调试篇10 让编程改变世界 Change the world by program   大家或许有所察觉了,随着我们课程的不断深入学习,我们感觉自身逆向的"内功&quo ...

  4. 技术科普丨平台效果调试篇1—灰区和权重

    转载自技术科普丨平台效果调试篇1-灰区和权重 当你使用手机拍照的时候,有没有发现这种现象,在选自动白平衡的时候,图像整体色调是正常的,但是手动勾选其他光源的时候,会出现不同程度的偏色.为什么呢? 手动 ...

  5. 基于stm32的两轮自平衡小车4(软件调试篇)

    本篇是软件调试篇,接上一篇硬件篇:基于stm32的两轮自平衡小车3(硬件篇),本篇内容是对硬件部分的软件实现,具体模块详见目录.这里先上效果:转B站 目录 定时器PWM驱动程序 定时器编码器模式驱动程 ...

  6. ddr老化测试_【鼎阳硬件智库原创︱DDR 】 DDR硬件调试篇:DDR硬件设计调试测试 之二...

    DDR硬件调试篇 前言:大家自己设计的产品出来后都有遇到一些什么样的DDR问题呢?这些问题是否为致命问题,一定要解吗?如果机器已经生产出来,却发现DDR硬件问题导致系统不稳定,机器是否作废了,有没有软 ...

  7. VC调试器高级应用----系统函数,DLL段点

    一.高级断点语法 高级断点语法由两部分组成:1.上下文部分.2.位置,表达式,变量或Windows消息条件.   用函数,源文件和二进制模块来指定上下文,上下文的表示方法:   {[函数],[源文件] ...

  8. OD使用教程6 - 调试篇06|解密系列

    OD使用教程6 - 调试篇06 让编程改变世界 Change the world by program   这一讲开始,小甲鱼带大家接触真正程序的逆向.其实也没啥大不了的,也就是对之前所学的知识进行巩 ...

  9. OD使用教程18 - 调试篇18

    OD使用教程18 - 调试篇18 让编程改变世界 Change the world by program   十八,是一个神奇的数字. 每每提起,总让人心旷神怡. 例如十八精神,例如十八岁的天空,例如 ...

最新文章

  1. BrupSuite渗透测试笔记(十一)
  2. STM32核心板电路分析
  3. Android Studio javadoc 生成注释文档
  4. Ubuntu 18.10安装MySql8.0.13
  5. 还不会用springboot写接口?快看这里,手把手操作,一发入魂~
  6. python调用sdk接口_Python SDK使用说明
  7. 平衡小车之家_人教版高中物理必修一 专题 共点力作用下的动态平衡 公开课优质课课件教案视频...
  8. python os 遍历 子目录中所有文件_Python处理文件系统的10种方法 !
  9. JS控制文本框禁止输入特殊字符
  10. 第四章 选择结构程序设计习题总结
  11. 专业生物信息linux系统,Evvail | Bio-Linux:生物信息专用Linux系统 | Omics - Hunter
  12. matlab coder 4.0,利用MATLAB Coder将MATLAB代码生成C/C++代码
  13. lgv30刷android10,记一次LG V30系列手机完美刷入MIUI12系统和Flyme刷机教程
  14. 设置笔记本电脑插入USB鼠标时,自动禁用触摸板
  15. 【ROM制作工具】小白如何进行ROM解包,精简,修改,授权,打包详细图文教程...
  16. 洛谷——P1361 小猫爬山
  17. Spring AOP 切面@Around注解的具体使用
  18. JS数组常用方法整理-1
  19. 变态而有趣的微软面试题及答案
  20. PPTP - GRE

热门文章

  1. Drainage Ditches
  2. U3D架构系列之- FSM有限状态机设计五
  3. css3 渐变、蒙版
  4. 希尔排序 - 数据结构和算法91
  5. 高煥堂 5本 Android 的 eBooks (完整版Free)
  6. Oracle数据字典
  7. Dubbo 改造普通单体项目
  8. bitcask存储引擎
  9. c 高级函数的简单用法
  10. HTML.ActionLink 和Html.Action和 Url.Action 的区别