之前在VC6.0下开发了一个小程序,程序是基于MFC对话框的,运行调试一切正常。由于想丰富程序的功能,
想再VS2008下作进一步的开发,移植到VS2008后,编译连接无错误,各项功能运行也正常,但是在程序退出
的时候会弹出对话框,提示内存错误。不知道是哪出了问题,忘高手解惑,谢谢!    如果是内存泄露的问题,能否提示该从哪些方面着手进行代码检测?谢谢    PS:在转换成VS2008后,修正了所有宽字符问题。尝试了卸载动态链接库等方式检测出问题的部分,但依然没有
查出出问题的代码部分,希望各位能给些建议!谢谢。

解决方案 »

  1.   

    看这个帖子
    http://topic.csdn.net/u/20100114/10/dc4e8bfd-53f0-4d14-b5da-a48b7a4a93d6.html?seed=207211601&r=62722283#r_62722283我修改后,退出不报错了
      

  2.   

    其实...可以F5调试运行.
    关闭程序,等它出现错误框..
    错误框上一般有个  重试,或者断下..
    1.一般是自己写的MessageBox等就点击调试菜单里的暂停 调试..
    2.是个错误框,那么点断下,或者重试,
    假如重试,那么会继续跳出第二个框,一般是提示你是否需要断下. 点确定 停下来.
    然后...调出 堆栈窗口. 堆栈窗口是倒置的(越上面是最新被调用的函数).
    在堆栈窗口里往下找..直到一个自己的函数,或者自己填充过部分代码的函数..
    一般是某个消息处理函数..你双击它,进入,就会看到代码停在某一句...一般是那句或者上一句..出现错误..
    这是直接引起错误的,一个函数调用.你可以查看这个函数的参数传入等问题,,是否参数为空,或者数组索引超出,等等..
    或者还要向上几句找找错误的来源..总之: 堆栈里第一处自己填写代码的地方,是错误直接由自己的代码引起的地方..
    真正的错误原因就在这附近.