最近自己做了一个数组+链表的结构。在写完后频频出现
“Project1.exe 已触发了一个断点“和“ntdll.dll处引发的异常”和“指针对象为0xdddddddd”这三个问题,在网上查了一些。大概意思就是内存泄露,堆栈溢出。这个确实是大方向但是不够细。
我来讲讲我怎么处理的问题。
原因是因为new 构造的对象删除问题,
1.在定义动态数组时候越界访问

 point* Array = new point[x]; T.flag(Array, max);

上面的max大于了x,所以在进行操作过后,暂时没出现问题,直到程序运行完之后出现了“ntdll.dll处引发的异常
范围0~x-1这个有时候会粗心在操作时候下标填写过大

2.关于链表的删除问题
这是像我一样小白会犯的错误
(1)
打印函数

 for (int i = 0; i < max; i++){cout << i << ":  ";edge* p = new edge();p = array[i].next;while (p->next != NULL){cout << "->[" << p->x << "|" << p->ymax << "|" << p->k << "]";p = p->next;}
delete p;//这里我多此一举了
p = NULL;}这里我删掉p后,出现了以下问题
很基本的错误

所以大家注意指针的删除,不然会在程序各地方报错的,对于不同的运行结果可能不大一样,不过都是引发断点引起的。


(2)

while (p->next != NULL)
{if (p->next == m) {/*edge* a = p->next;*/
p->next = p->next->next;
/* delete a;
a = NULL;*/
return true;
}
if(p->next!=NULL)
p = p->next;
}

这段代码我以前就是这么写的,但是我发现在没有注释掉那些注释的时候,程序会运行到一半出现错误!
我看了看就是在运行到一半时候弹出的错误,找了半天也无果,但把上面注释掉都就没有出现问题,基于我是小白,就自己理解大概是new对象的删除的问题,所以大家可以仔细看看你的删除,看看是否有问题。

关于程序运行中出现的bug“Project1.exe 已触发了一个断点”和“ntdll.dll处引发的异常”和“指针对象为0xdddddddd”相关推荐

  1. vs提示出现“xxx.exe中已触发了一个断点”错误的解决办法

    当vs在运行代码结束后出现"xxx.exe中已触发了一个断点"这样的报错后,最主要的原因应该是内存管理出现了问题,野指针.溢出等等. 在今天的代码调试中就出现了这样的问题 并且伴随 ...

  2. Windows已在“xxx.exe”中触发了一个断点。

    template<class Type> Type ** Get2Array(int n, int m) {Type **s = (Type**)malloc(sizeof(Type)*n ...

  3. c语言代码存放的区域 堆栈,C语言中内存分布及程序运行中(BSS段、数据段、代码段、堆栈)...

    BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属于静态内存分配. 数据段 :数据 ...

  4. win7 上面 gcc 编译的程序 a exe 运行的时候报错 a exe 已停止工作, 异常代码 c0000005

    win7 上面 gcc 编译的程序 a.exe 运行的时候报错 a.exe 已停止工作, 异常代码:c0000005: 原因分析: 一开始我以为是我的代码的问题,后来查询了这个错误码发现原来是兼容性的 ...

  5. Win7-其中的文件夹或文件已在另一个程序中打开

    Win7-其中的文件夹或文件已在另一个程序中打开 如何解决Win7系统在删除或移动文件时提示,"操作无法完成,因为其中的文件夹或文件已在另一个程序中打开,请关闭该文件夹或文件,然后重试&qu ...

  6. (ntdll.dll)处(位于 .exe 中)引发的异常: 0xC0000139: Entry Point Not Found

    症状 起因是我加了个QAxObject的lib,然后好好的程序就会报错(ntdll.dll)处(位于 .exe 中)引发的异常: 0xC0000139: Entry Point Not Found 网 ...

  7. “Project1.exe”(Win32): 已加载“C:\Windows\syswow64\ntdll.dll”。无法查找或打开 PDB 文件。 “Project1.exe”(Win32): 已加载

    "Project1.exe"(Win32): 已加载"C:\Windows\syswow64\ntdll.dll".无法查找或打开 PDB 文件. " ...

  8. OpenCV3错误总结(二):0x00007FFE8F21A9C0 (ntdll.dll)处(位于 photo mix.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000000

    1.错误问题: 程序调试时,出现0x00007FFE8F21A9C0 (ntdll.dll)处(位于 photo mix.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000000 ...

  9. 内存条:程序运行中内存的作用以及如何与cpu、os交互

    首先给大家讲个段子: 2015年开网吧,买了 DDR4 8g 内存条400多根,一根180块,今年2017年,网吧赔了20多万,昨天我把网吧电脑全卖了.内存条600一根,居然赚回了我网吧的钱,感谢三星 ...

最新文章

  1. tomcat startup启动不起来 但也不报错_Resin 与 Tomcat 服务器对比
  2. C#中获取当前应用程序的路径及环境变量
  3. python中ndarray如何生成单独的记事本文件_NumPy-快速处理数据--ndarray对象--数组的创建和存取...
  4. [react] React v15中怎么处理错误边界?
  5. php oracle新增数据类型,oracle数据类型
  6. python列表中存类对象_Python DataFrame或用于存储对象的列表
  7. 值得一生收藏的网站资源 没用过就太可惜了
  8. linux rkt命令,rkt 1.13.0发布,CoreOS的容器引擎
  9. Jquery 对象求和
  10. Java中的sql语句代码拼接问题
  11. Code Commit Flow
  12. 电子邮件服务器匿名转发功能吗,你为什么不能匿名发送电子邮件
  13. PLM Agile BOM表结构笔记
  14. 切身体验苹果Reminders的贴心设计
  15. column ‘_id‘ does not exis报错
  16. GitLab 无法显示头像的解决方法
  17. 视频拼接剪辑怎么弄?分享三个小妙招给你们
  18. 豆瓣电台歌曲链接信息
  19. Fisher判别分析
  20. vue项目技术知识点

热门文章

  1. LeetCode.735 Asteriod Collision
  2. 拼多多DSR评分不达标怎么处理?
  3. 发射接收模块与示波器
  4. Web服务器配置和管理
  5. 虚拟机打开版本版本不兼容和虚拟机打开版本版本不兼容
  6. 超全前端面试题及答案
  7. 微信小程序 实现合并对象 concat
  8. SCAU华南农业大学-数电实验-七进制同步加法计数器-实验报告
  9. 2020江苏省大学生计算机设计大赛,我校学生在2020年中国大学生计算机设计大赛江苏省级赛中喜获佳绩...
  10. linux shc shell脚本_CentOS 下使用 shc 加密你的 linux shell 脚本