CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

在debug模式下运行没有问题,release下运行一段时间后程序自动消失了?

楼主Interwetten()2006-03-01 08:17:05 在 VC/MFC / 基础类 提问

在debug模式下运行没有问题,release下运行一段时间后程序自动消失了,  
  请问这是什么原因造成的?该怎么调试呢? 问题点数:50、回复次数:4Top

1 楼HelloIvan2005()回复于 2006-03-01 08:24:18 得分 0

这种问题比较奇怪,建议检查指针,有   new   和delete   的地方。Top

2 楼Interwetten()回复于 2006-03-01 08:34:09 得分 0

所有new的变量我都有delete掉。除了一个用来建立链表的指针外,  
   
  pRecord   *s;   //在头文件中定义的一个变量  
  在源码中初始化并建立链表:  
  ...  
  s   =   new   pRecord;  
  ...  
  在退出按钮中释放资源:  
  if(s)   delete   []   s;//我如果注释此句,程序在debug下可以运行,  
                                      //如果不注释它就会出现下面的调试错误  
  不注释上面那句,一运行就会报错:  
  Debug   Assertion   Failed!  
   
  Program:xxxx\xxx\xxx.exe  
  File:dbgheap.c  
  Line:1011Top

3 楼ouyh12345(五岭散人)回复于 2006-03-01 08:38:34 得分 0

链表不能这样释放:  
  if(s)   delete   []   s;  
   
  应该是:  
  pRecord   *ptmp   =   s;  
  while(s!=NULL)  
  {  
      ptmp   =   s;  
      s   =   s->next;  
      delete   ptmp;  
  }Top

4 楼Interwetten()回复于 2006-03-01 08:49:18 得分 0

嗯,改成逐个释放链表之后,debug下没有问题了  
  但是还是有检测到内存漏洞  
  就是出在new那个语句那里  
  s   =   new   pRecord;  
  这是怎么回事呢?  
  我不是都已经释放了么Top

相关问题

  • XP运行一段时间后失声
  • tomcat 运行一段时间后几乎耗尽系统资源
  • win2000 运行一段时间自动弹出请插入“软盘”
  • 程序运行一段时间会自动退出的问题
  • 程序运行一段时间后发生错误
  • 为什么JRUN运行一段时间会慢呢?
  • Windows2003运行一段时间后性能变差
  • sqlserver 运行一段时间后会自动停止?
  • 求救:asp.net在运行一段时间后出错。
  • 着急:机器运行一段时间之后就无法建立连接了

关键词

  • debug
  • 程序
  • 下运行
  • precord
  • ptmp
  • 释放
  • 链表
  • 没有问题
  • delete

得分解答快速导航

  • 帖主:Interwetten

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo