免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 13627 | 回复: 25
打印 上一主题 下一主题

malloc失败的问题,救命啊! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-21 12:00 |只看该作者 |倒序浏览
半年来一直运行得好好的程序,昨天上午开始出现问题,跟踪后发现原来是malloc的原因,可是想不通为什么会这样子,也没有返回错误,直接就segment fault了,我用完指针后都释放了的,怎么会这样啊!怀疑内存坏了,可是换了也一样出错,奇怪的是怎么会用了这么长时间才出错呢?公司的项目在最后阶段,少了我这块就没法结束了,大家救命,救救我!

论坛徽章:
0
2 [报告]
发表于 2005-10-21 12:52 |只看该作者

malloc失败的问题,救命啊!

[quote]原帖由 "阿旺"]半年来一直运行得好好的程序,昨天上午开始出现问题,跟踪后发现原来是malloc的原因,可是想不通为什么会这样子,也没有返回错误,直接就segment fault了,我用完指针后都释放了的,怎么会这样啊!怀疑内存坏了,可

论坛徽章:
0
3 [报告]
发表于 2005-10-21 13:16 |只看该作者

malloc失败的问题,救命啊!

把相关的代码铁出来看看

论坛徽章:
0
4 [报告]
发表于 2005-10-21 15:01 |只看该作者

malloc失败的问题,救命啊!

会不会是人为的? 也许是malloc and free 很频繁。没预见过这样的问题。

帮你顶

论坛徽章:
0
5 [报告]
发表于 2005-10-21 20:37 |只看该作者

malloc失败的问题,救命啊!

OS?
如果是Linux, 用MALLOC_CHECK_=2试一试.

论坛徽章:
0
6 [报告]
发表于 2005-10-21 21:52 |只看该作者

malloc失败的问题,救命啊!

我记得指针乱用就会造成free出错
比如你试试这样

  1. int main()
  2. {
  3.         char *p,*k;
  4.         p = malloc(1024);

  5.         k = p - 1;
  6.         *k-- = 0;
  7.         *k-- = 0;
  8.         *k-- = 0;
  9.         *k-- = 0;
  10.         *k-- = 0;
  11.         *k-- = 0;
  12.         *k-- = 0;
  13.         *k-- = 0;
  14.         *k-- = 0;
  15.         *k-- = 0;
  16.         free(p);
  17.         p = malloc(1024);
  18. }
复制代码

不过malloc出错的没见过

论坛徽章:
0
7 [报告]
发表于 2005-10-21 22:15 |只看该作者

malloc失败的问题,救命啊!

[quote]原帖由 "bleem1998"]不过malloc出错的没见过[/quote 发表:


k=p-1;

这k指到哪了?不是越了底界了么?

论坛徽章:
0
8 [报告]
发表于 2005-10-21 23:28 |只看该作者

malloc失败的问题,救命啊!

恩呐滴
俺的意思只是提醒LZ可能是程序有指针错误

论坛徽章:
0
9 [报告]
发表于 2005-10-21 23:28 |只看该作者

malloc失败的问题,救命啊!

关注

论坛徽章:
0
10 [报告]
发表于 2005-10-22 11:48 |只看该作者

malloc失败的问题,救命啊!

真巧啊,我有出了同样的问题现在,在unix环境下,db_library c
        for (i=1;i<100;i++)
        {            
             pfield[i-1]=(char* )malloc(100);
        }
在循环到第七次就会死掉
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP