C++Debug Assertion Failed!到底出错在哪里?

在执行程序时,时常遇到一些Debug Assertion Failed!的错误警告对话框,对于初学者不知道问题出在哪里,我在这里以一个简单的例子演示给大家。

操作方法

  • 01

    下面这幅图是我的程序源代码截图,这是一个很简单的小程序,不妨自己阅读下能否找到错误。

  • 02

    下图是在执行程序时弹出的错误警告对话框,类似的情况很多,我在调试dll插件的时候也时常碰到,后来发现大多是指针引起的错误。

  • 03

    下图荧光笔标记的地方,是Distance类析构函数,这里使用了delete,其实是画蛇添足的,因为pDist指针是静态分配的内存,当程序运行完后,其内存自动释放,此时使用delete就是删除一个不存在的指针,从而报错,而实际上delete是与new搭配使用的。

  • 04

    总结来说这种错误存在两种情况,其一就是野指针。

  • 05

    另一种情况就是内存泄露。

  • 06

    在调试的时候一定是在自己编写的函数上找错,不要一只跟着调试顺序在库函数里找错。

(0)

相关推荐

  • 安装游戏出现Debug Asseryion Failed

    由于内存溢出,不能使用原来的安装器安装 操作方法 01 打开你安装文件的子文件夹:例如安装孤岛危机的时候打开安装文件目录下的一个文件夹Crysis3_cht 02 在这个文件夹中找到#youxun#或 ...

  • linux下使用lftp的小结(远程服务器备份)

    今天在解决一个远程服务器备份的问题时,用到了lftp的相关知识。整理如下: lftp的功能比较强大,相比原来用ftp,方便了很多。 1、登陆: lftp ftp://yourname@site pwd ...

  • 如何在Unity 游戏中添加Push 功能

    支持 Android 和 iOS Push 通知的新版 Kii Unity SDK.可以帮助用户如何建立 Unity 游戏并让 Android 玩家收到 Push 通知. 操作方法 01 在 Kii ...

  • 递归路由介绍 路由的递归查询到底是干什么的?

    路由的递归查询到底是干什么的? 路由的递归查询针对静态路由来讲,对于动态路由就没必要了。之所以要使用递归路由,目的是绕开那些经常变动的链路,可以使静态路由的配置工作量减小。 使用递归路由的一个条件:到 ...

  • "文件应用属性时出错"的图文解决方法步骤

    有很多用户跟笔者一样在上网的时候遇见过“文件应用属性时出错”提示框,到底为什么会出现“文件应用属性时出错”,该怎么去解决“文件应用属性时出错”的问题。 文件应用属性时出错 文件应用属性时出错解决方法 ...

  • Debug卡原理及其使用样例介绍

    PC技术发展到今天可以说已经达到了前所未有的性能,在易用性上也大大的改善了,然而在装机及使用的时候却经常发生一些问题。经常装机的朋友一定深有体会,当你辛辛苦苦地买回来一大堆配件,满头大汗地把它们装在一 ...

  • 电脑主板出错怎么解决

    主板使用问题详解 主板又称母板,顾名思义是电脑的母体,其上载有CPU、内存、各种板卡及与之连接的外部设备。因此,它即是电脑系统的重要组成部分,又是故障涉及面最多的配件。下面我把自己对这个错综复杂的故障 ...

  • 安装Win7出现(0x00000124)蓝屏Debug报错的解决

    貌似不少使用高端LGA1155系列CPU处理器(2500K、2600、2600K之类)的朋友们都会偶尔的遇到过新安装Win7(x86、x64)后在正常使用一般程序和运行游戏中触发 0x00000124 ...

  • CentOS 6.5服务器VNC远程桌面连接出错

    首先需要检查一下服务器是否已经安装了VNC服务,检查服务器的是否安装VNC的命令如下: rpm -qa | grep vnc 使用了上面的命令我这边返回的信息是下面的(如果没有任何显示,则说明系统没有 ...