在windows里启动时,new新对象报0xC0000005 要去撞墙了解决办法

在windows里启动时,new新对象报0xC0000005 要去撞墙了
如题,VS2008 使用w32 api构造一个带UI的获取网络数据的程序。
本来一切比较顺利,从编译环境启动程序,无论是debug还是release方式都执行的很稳定;
前天拿编出的release版本从windows双击启动,一下出问题了,总是意外崩溃。

附加进程到编译器跟了一下,发现绝大多是在在我new一个内存时出现崩溃(其实具体崩溃地点表现的也不很稳定,但大部分崩溃定位于此)
新类的构造函数进去了,但单步但凡走一行,马上就崩溃

错误提示“WebSiteTraveller.exe 中的 0x7c9309d8 处未处理的异常: 0xC0000005: 读取位置 0x0075006f 时发生访问冲突”
老实说 我真不认为是这个类的问题 不过我也真不知道 这是怎么回事。。。
网上有人说内存越界,我也不知道是怎么个越界法,而且为什么从编译器启就没任何问题,求高手给指个思路,谢谢。

------解决方案--------------------
可能是越界,即在new之前堆已经被破坏了。因此,即使new一个较大的数组也会出错
这个可以从现象上表示:
new一个对象的过程是申请一个Object的空间、检查申请是否成功(和编译器有关)、通过this指针执行相关的构造函数,因此您可以在进入构造函数的时候,立即检查一下this指针;当然,如果堆已经被破坏,this指针很可能指向一个无效的地址;
如果是越界查起来有些麻烦,多数可以分段设置断点去找;

补充说明:new多数情况不会从堆栈申请空间(除非有人重载了new),正常的new/malloc等是从堆中申请空间而非堆栈,因此,多数情况下与堆栈无关。堆栈不足死机一般会表现在程序返回时----程序飞掉了,而LZ的现象明显不是这样