vc出现Debug Assertion Failed时候的处理方法

(1)首先如果你用的是vc6的话:
1。按F5运行你的程序
2。在出错时,选择“重试”
3。按ALT+7调出“调用栈”窗口
4。双击从上往下的最近一个自己定义的函数,系统会自动把该函数所在的文件显示出来,此时程序就暂停在光标处。一般来说错误就出在这附近。你可以通过查看变量的值来确认

(2)
提示:dbgheap.c错误!

原因:

    这个文件是有关内存分配的函数的源代码,你的程序在
delete时出错(可能是数组越界,指针越界之类的错误),delete 
 实际执行了DbgHeap.c中的函数,于是发生异常,程序中断,
调试器要求找到该文件显示源代码。由于这是库文件,有错的可
能性很小,一般不需修改,可以在"call   stack"中看到底是哪
里在调用DbgHeap.c中的函数,这样就可以找出错误(实际错的是
你的代码,看不看DbgHeap.c无所谓)
 
解决方法: 检查程序,malloc 或 new 被多次地,频繁的调用了,
在函数外部设置 全局的类对象。

(3)
在用free释放结构体指针的时候如果结构体内有 指针指向另外的空间,那么这些“另外的空间”的内存会不会也被释放呢?
不会,需要逐级释放,从内到外。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值