VS2008上调试MFC可行,可是单独在工程目录下的.exe就会出错,该如何解决

VS2008上调试MFC可行,可是单独在工程目录下的.exe就会出错
我在VS2008上用C++写了个MFC应用软件,在Debug或者Release出来的窗口测试后,什么问题都不会出现,不管我按按钮多快多

久都不会错,可是关掉程序,在工程项目下单独打开那个.exe文件(Debug和Release文件里的都试了)后,就会出现

“TODO:<。。。>File”错误的界面,然后如果我选择调试,打开的工程就有下面窗口:

Unhandled exception at 0x770e6aa3 in APG8201.exe: 0xC0000005: Access violation reading location 0x0011be3b

这样的错误,这是怎么回事啊?而且我继续在那个打开的工程上重新Debug,运行又是没错误。就是独立打开有错误,请各位高手帮帮忙。

我现在有点怀疑是指针内存未释放,但是找到free指针的地方看了下,用到的指针都free了,而且还加上了p = NULL这样的语

句了,有时还会出现Out of memory的错误(这个也是独立打开出现的)

郁闷啊,以上出现的错误都是不规律不定时的,而且都是在工程运行下正确,单独打开.exe就出现的(不是每次都出现,硬件重新插拔过后就正常,很久不动硬件就有可能出现),谁能帮帮我呀,谢谢了。

------解决方案--------------------
是不是有什么成员变量没有赋初值?
------解决方案--------------------
探讨

我又按错误,选择调试了,进去后弹出的窗口是
Unhandled exception at 0x770e6aa3 in APG8201.exe: 0xC0000005: Access violation reading location 0x1b1a1918.

然后代码箭头停在:
if (pmap == NULL)
{
……

------解决方案--------------------
探讨

引用:

引用:

我又按错误,选择调试了,进去后弹出的窗口是
Unhandled exception at 0x770e6aa3 in APG8201.exe: 0xC0000005: Access violation reading location 0x1b1a1918.

然后代码箭头停在:
if (pm……

------解决方案--------------------
那就要了解debug和release的区别了,一些重要的编译链接选项。release对程序的优化会使一些debug下的潜在变量问题暴露出来。


资料MSDN: 关键字 cl.exe

书:windows程序调试(比较老,讲VC6的)