vc malloc 失败
场景:vc2005堆栈heap怪异有关问题: malloc 为什么可能在win环境上失败
vc2005堆栈heap怪异问题: malloc 为什么可能在win环境下失败?
我有一个程序,在release下运行没问题
可是在debug下,总会弹出一个对话框,如果按continuw程序也能照常运行
如果按下break,通过call stack发现是队长出了问题,
有时候停在free的地方
有时候停在malloc处
output窗口信息(也是弹出的对话框信息)如下:
HEAP[MobbyTouch GUI.exe]: HEAP: Free Heap block 14eaf78 modified at 14eb078 after it was freed
Windows has triggered a breakpoint in MobbyTouch GUI.exe.
This may be due to a corruption of the heap, and indicates a bug in MobbyTouch GUI.exe or any of the DLLs it has loaded.
------解决方案--------------------
指针越界或野指针啦,仔细点就可以发现。。。
------解决方案--------------------
很显然,你分配了一块了内存,但是访问的适合超过了你分配的界限,例如分配10字节,使用了11字节
这种错误只在debug版本会显示,在release版本不显示,但是会出现许多莫名其妙的异常(任何异常都可能)
------解决方案--------------------
优化要适当的进行设置。
一定要先清楚优化选项的功能。
vc2005堆栈heap怪异问题: malloc 为什么可能在win环境下失败?
我有一个程序,在release下运行没问题
可是在debug下,总会弹出一个对话框,如果按continuw程序也能照常运行
如果按下break,通过call stack发现是队长出了问题,
有时候停在free的地方
有时候停在malloc处
output窗口信息(也是弹出的对话框信息)如下:
HEAP[MobbyTouch GUI.exe]: HEAP: Free Heap block 14eaf78 modified at 14eb078 after it was freed
Windows has triggered a breakpoint in MobbyTouch GUI.exe.
This may be due to a corruption of the heap, and indicates a bug in MobbyTouch GUI.exe or any of the DLLs it has loaded.
------解决方案--------------------
指针越界或野指针啦,仔细点就可以发现。。。
------解决方案--------------------
很显然,你分配了一块了内存,但是访问的适合超过了你分配的界限,例如分配10字节,使用了11字节
这种错误只在debug版本会显示,在release版本不显示,但是会出现许多莫名其妙的异常(任何异常都可能)
------解决方案--------------------
优化要适当的进行设置。
一定要先清楚优化选项的功能。