C++中new崩溃问题

zszszs1994 2016-12-08 04:45:12
同一个程序中,在主函数中用new开辟一块空间,没有任何问题,同样的代码,到了其他的函数中,就会崩溃,我感觉肯定不是内存不够的原因,请问这是为什么呀?




...全文
675 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
l357630798 2016-12-10
  • 打赏
  • 举报
回复
同上, 感觉是内存不够。 宽度*高度 是个巨无霸数据?
小灸舞 2016-12-09
  • 打赏
  • 举报
回复
自己检查下分配的空间够不够大。
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
洪章桔 2016-12-08
  • 打赏
  • 举报
回复
额,越界,,,这样。。。
zwz901220 2016-12-08
  • 打赏
  • 举报
回复
同上。。。。越界了。
paschen 版主 2016-12-08
  • 打赏
  • 举报
回复
提示上已经说了,你的堆破坏了,这可能由于你前面的代码在使用堆内存时越界了,仔细检查下
赵4老师 2016-12-08
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止
xiaohuh421 2016-12-08
  • 打赏
  • 举报
回复
程序不全, 看不出问题所在. 不过看错误提示: 堆已经损坏 说明你前面某些地方可能有访问越界, 导致堆被破坏很严重, 分配都会失败. 贴完整点的代码, 方便看问题.

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧