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

学习APUE遇到的问题,错误处理函数err_dump看不懂

    来源: 互联网  发布时间:2017-05-02

    本文导语:  小弟在学APUE,看到书里面有个错误处理函数err_dump, /*   *Fatal error related to a system call   *print a message ,dump core,and terminate */ void err_dump(const char *fmt,...) {    va_list ap;    va_start(ap,fmt);    err_doit(1,errno,fmt,ap...

小弟在学APUE,看到书里面有个错误处理函数err_dump,

/*
  *Fatal error related to a system call
  *print a message ,dump core,and terminate
*/
void err_dump(const char *fmt,...)
{
   va_list ap;
   va_start(ap,fmt);
   err_doit(1,errno,fmt,ap);
   va_end(ap);
   abort();       /*dump core and terminate*/
   exit(1);
}

err_doit 函数打印出错信息,可abort()函数是干什么的?我知道该函数能terminate进程,可dump core是什么意思?还有exit()不也是terminate进程的吗?干嘛又调用abort()又调用exit()?求解答

非常感谢

|
没看过这本书.
man 
abort - cause abnormal process termination

应该是配合 ulimit -c 这个使用.
使出错, ``已放弃(吐核)`` 吐核就是dump core吧.
生成core文件.保存出错当时状态,使用gdb可以调试.
core文件参见wiki [http://zh.wikipedia.org/zh/%E6%A0%B8%E5%BF%83%E6%96%87%E4%BB%B6]
简单使用/利用(用来调试)  [http://www.embeddedlinux.org.cn/html/jishuzixun/201307/08-2594.html]
调试错误时非常有用


|
错误之后生成core文件方便调试,很有用的。至于后面的问题我找到了一个答案:

详见http://bbs.csdn.net/topics/380205711
void abort(void) /* POSIX-style abort() function */
{
  sigset_t mask;
  struct sigaction action;
  ......
  action.sa_handler = SIG_DFL;
  sigaction(SIGABRT, &action, NULL); /* reset to default */
  sigprocmask(SIG_SETMASK, &mask, NULL); /* just in case ... */
  kill(getpid(), SIGABRT); /* and one more time */
  exit(1); /* this should never be executed ... */
}

    
 
 

您可能感兴趣的文章:

  • 用什么学习函数库?
  • 学习C#中的静态构造函数与复制构造函数
  • php构造函数和析构函数学习
  • C#学习笔记之抽象类和抽象函数
  • T-SQL常用游标函数实例学习
  • SQL学习笔记七函数 数字,日期,类型转换,空值处理,case
  • 学习C#静态函数及变量的一个精典例子与代码
  • 学习 SQL Server 的三种自定义函数
  • c# Base64编码函数学习笔记
  • SQL学习笔记四 聚合函数、排序方法
  • ORACLE学习笔记-添加更新数据函数篇
  • C#学习笔记之派生类的构造函数
  • C#类的学习笔记之C#构造函数
  • C# 泛型类与泛型函数的实例学习
  • jQuery的animate函数学习记录
  • php取整函数用法实例学习
  • Java反射学习 getClass()函数应用
  • oracle 合并查询 事务 sql函数小知识学习
  • jQuery学习笔记之jQuery构建函数的7种方法
  • php 字符串替换函数学习
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在学习操作系统时遇到的一个邮件列表问题
  • 学习redhat9遇到的疑惑。
  • 学习Qt中遇到的问题
  • 【求助】小弟现在正在学习Linux,遇到一个问题,请教各位
  • 大家,一个关于学习处理异常时候遇到的学习问题
  • 哎,最近学习遇到N多问题,散分,暂别。。。
  • 我在学习java时遇到的几个问题,望大家解答 iis7站长之家
  • 菜鸟学习Linux遇到的问题
  • 学习一晚,遇到二个问题,请教大侠,昨晚的已经结!不能再给一百分了,否则我坚持不了几晚
  • 刚开始学习LINUX,安装时遇到问题,请大家帮忙。
  • 学习SHELL编程时遇到一个问题,是BUG还是我弄错了?
  • 正在安装linux 8.0遇到分区问题,第一次学习,还请大家多多关注!再现等待,上午结贴
  • 当你遇到问题时,你会怎么办?(讨论,关于学习方法的问题)
  • [学习UNIX编程]初学UNIX编程,遇到一个小小的问题,烦劳大虾帮忙解惑,谢谢!
  • 我在学习java时遇到的几个问题,望大家解答
  • 小弟学习LINUX中,遇到问题!
  • 小弟在学习LINUX程序设计时遇到有关wait和waitpid的问题,请各位达人帮忙,不胜感激。
  • 学习Linux遇到的问题,向各位求教
  • PHP介绍及学习网站推荐
  • 想深入学习Java应该学习哪些东西
  • 准备学习docker: docker version命令查看版本
  • 新手提问:学习c++同时也想学习unix和linux
  • HTML 学习总结及下一步学习教程推荐
  • 学习c后,学习pb,大家提点建议,谢谢哦
  • OpenStack相关学习资料搜集
  • 有最近开始学习Minix的吗?一起来学习吧
  • juqery的python实现:pyquery学习使用教程
  • 我想问问哪里有AIX下啊!~版本越新越好!~我想拿来学习学习
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 学习java好 还是学习嵌入式开发好??
  • 学习linux网络编程需要学习些内核知识吗?


  • 站内导航:


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

    ©2012-2021,