• VC调试篇:减少运行时错误,中断所有异常


    问题简述

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

    WinXp下运行的错误报告

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

    调试方法

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

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

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

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

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

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

    中断所有异常

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

    总结

    1. 尽早暴露异常。
    2. 中断所有异常。
  • 相关阅读:
    线程---JDK查看线程
    如何处理js的跨域问题
    每日思考(2019/12/31)
    每日思考(2019/12/30)
    每日思考(2019/12/29)
    每日思考(2019/12/28)
    每日思考(2019/12/27)
    每日思考(2019/12/26)
    每日思考(2019/12/25)
    每日思考(2019/12/24)
  • 原文地址:https://www.cnblogs.com/smallpi/p/7190930.html
Copyright © 2020-2023  润新知