我的程序是debug版本的。运行时,不定期会中断在dbgheap.c的1017行,我到源文件中看了,也不甚明白。况且也不知自己程序中何处对其进行了调用。因此我想让自己的程序出现中断时就中止运行,而不要弹出个debug assertion()!的框框来!不知如何能作到?望各位大人不吝指教!!!!!急死我也!!!!

解决方案 »

  1.   

    出现那个对话框后点击“重试”按钮,然后看call stack,找到自己从哪里调到dbgheap的。看dbgheap.c的代码对你没用。
      

  2.   

    对,看call stack,如果有你定义的函数,双击它就可以转到你的源程序,还可以察看各个变量的取值。一般这个错误都是内存分配错误,有可能是你delete、free一块根本不在heap中的内存,或者一块已经释放过的内存,或者前面有越界写heap内存的错误,导致heap的结构被破坏。一般都很难解决。
      

  3.   

    你编译一个release版就不会出assert failure对话框。或者在project settting中取消_DEBUG的定义也可以。
      

  4.   

    use bounderchecker to compile/Link.
      

  5.   

    热泪盈眶!祖国大家庭就是好,CSDN大家庭就是好,就是好勒,就是好!