当前位置:  技术问答>linux和unix

[ 高手进来研究一下 ] malloc() 失败,并系统调用abort() 从而使程序退出,如何解决?

    来源: 互联网  发布时间:2015-06-29

    本文导语:  因为一处malloc()失败,使得系统调用abort(),从而使程序退出,如何解决? | 你可以忽略abort这个信号。 | 1、内存被你的程序占完了 2、你的程序代码把你的代码空间给覆盖了 | ...


因为一处malloc()失败,使得系统调用abort(),从而使程序退出,如何解决?

|
你可以忽略abort这个信号。

|
1、内存被你的程序占完了
2、你的程序代码把你的代码空间给覆盖了


|
应该是程序本身有问题吧。 malloc分配内存的,除非超过4G,否则不容易失败的。

|
malloc是随机错误的还是程序运行到某个地方就一定会出错~

先别管是不是"锁的问题" 先找出解决的方法啊~

|
奇怪.malloc失败并不会调用abort的啊.怀疑
不malloc引起的问题

|
你的程序代码把你的代码空间给覆盖了:就是你的程序使用了非法内存指针,检查你的程序,不要怀疑malloc调用

|
估计是调用后的问题,或者说你没有成功获取空间,然后又对这个指针操作导致的异常。

|
接上面,在程序中可以自己用函数func截获这个致命的信号
signal(SIGSEGV, func)
可以用dbmalloc函数库来调试你的内存分配
http://www.sandia.gov/ASCI/Red/usage/tutorial/dbmalloc/index.html
下载相关的包,解压编译,链接自己的程序时加入生成的libdbmalloc.a,这个库在出现SIGSEGV信号的时候会输出相关的信息,(据其文档说,会输出出错的文件名和行号,但是我用这个东东没有那么详细的输出:( ,但是程序可以继续运行,估计是dbmalloc拦截了SIGSEGV)
   再次提醒,可能是你的程序用了free过的指针去访问数据,或者多次free同一个指针。

|
malloc调用之前如果没有错误的话,malloc会返回NULL或者正确的指针
如果在调用malloc之前有多次free同一个指针,系统会在malloc时发出SIGSEGV

|
另外一点,仅供参考:

你是否使用了异常?没被处理的异常,将被系统默认异常处理程序捕获,

通常默认处理就是调用abort()

|
多线程吗?在什么平台下运行?

|
用gdb看看吧,启动进程然后用gdb attach上去,
> handle all nostop pass print
接收到什么信号都会显示的,而且不会影响进程运行。
或者更简单的用truss

    
 
 

您可能感兴趣的文章:

  • 调用dll的问题???请高手指教!!!
  • 各位高手!jsp怎么调用word啊!
  • 在sendmail里调用其他处理邮件程序的问题,高手进来!
  • 请问高手:我想用applet调用一个本地的exe。怎么办?
  • 请教内核高手,抽空解释一下系统中断调用处理流程
  • 一个关于在java中调用动态链接库的问题,高手指点!
  • 有关静态库*.a的调用问题,请高手指点,急急急!
  • 客户端JavaScipt对servlet的调用问题。各位高手请进!!!
  • [100分]如何在GTK下编写的程序中调用shell下的批处理程序[高手进]
  • 请问诸位高手,Java中JFrame上最小化按钮是调用什么方法实现的??
  • 请问高手,如何在java/jsp中调用应用程序??
  • 哪位高手有兴趣跟我讨论讨论java中调用dll文件??小弟有些问题还是不很清楚??
  • 100分!·!高手请进--Applet怎么能在IE中显示调用的Access数据库?
  • java调用C/C++编写的DLL文件问题,请有经验的高手指教?
  • C调用shell脚本出现问题,在线等待求教高手
  • java可以调用windows api吗,用jbuild 可以生成.exe文件吗,散分,高手出招
  • 请教高手,如何在java中调用其他应用程序(该程序主要进行数据库操作)
  • 关于Excel做后台数据调用!已经变通到这样了!高手们来帮忙吧!
  • 请问高手,linux c调用ncurses 库后如何不乱屏强制退出
  • awk调用函数的问题,请高手帮忙解答
  • ubuntu下使用vmware一会儿后,一按键盘,所有程序都立即退出。。。。。高手帮忙
  • 我的应用服务程序已经退出. 可端口还是被绑定. 希望高手来解
  • 请教高手:在Solaris上,在一台机器上rsh到另一台机器执行sh script,完毕后却不退出,原因???
  • 求高手解答,程序在main函数退出之后core了!
  • ACE仅仅实例化一个对象ACE_TP_Reactor tpReactor程序就退出,请高手指教
  • 在jsp里做“退出登录”, session.setAttribute("id",null)居然出错。高手救命啊!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux启动加载时有几个挂载文件系统失败,请高手指教!
  • 求高手帮看看,编译hello驱动模块失败
  • 高手求救,在windows下访问linux服务器时使用如\192.168.100.1,但是访问失败,问在linux上要怎么设置啊
  • 64位机Linux下启动.sh文件失败,报错信息“已放弃”,求高手
  • redhat linux 9 下面安装FreeTDS失败,请教高手。给100分!
  • 向高手求助一个简单问题:为什么我在linux上的socket编程bind失败,告诉是权限不允许?
  • 安装X264失败,高手帮我看看是什么原因
  • 【求助】system()命令执行失败,请高手帮忙解决,谢谢!
  • 请高手帮我看一下,函数指针为何转换失败?
  • dhcpd 启动失败 高手求救
  • 第四次安装redhat7.3失败,高手帮一下忙!!!
  • VMware虚拟机linux系统,在启动的时候弹出eth0的时候失败了。进入系统的时候,输入ifconfig没有IP,这是什么情况???那位高手帮帮忙,不甚感激
  • 【诚意求救】小弟一台Web服务器上ProFTP服务启动失败,现给出错误信息,求助于高手
  • 【诚意求救】小弟一台Web服务器上ProFTP服务启动失败,现给出错误信息,求高手分析原因
  • 安装skyeye失败,请教高手,回帖有分
  • 加载helloworld模块失败请高手帮忙!
  • CENTOS 4.x 安装freetype失败.请高手帮我解决问题.谢谢.
  • rh9.0什级到2.6.5屡次失败,请高手指教?
  • 请教一下各位高手,为什么fifo管道在线程内总是write失败?
  • AIX 版本 5300-01-00 登录CDE失败的问题,在线等,请高手指教
  • 高手,高手,高高手请进!
  • 有熟悉EXIM的高手高手么??
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 高分请高手,高手定能解决
  • 请问高手在linux中用什么命令可以做linux的启动盘???在等待高手??
  • 有高手研究Agent++麽?里面有个thread.h,蛮难读的,请高手指点
  • 难道高手区里的人就是高手?
  • 在dos下用bc31挑战高手******开发mssql程序,连接时报link err:undefined symbol GETNOTE in module DBEXTERN?(挑战高手)
  • 真正的linux高手,请看过来,看你符合高手标准不?
  • 难道这没有高手吗?难道这没有乐于助人的高手?(高分酬谢62+50+50)
  • 关于我对linux高手用yum,非高手用源码的理由


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3