linux c异常处理

目前遇到这样的问题,大概在2000多台服务器里面有100多多台一个c进程挂掉了,由于公司各种的流程调试起来非常困难。

这几天google了下找到了一些资料,捕获异常堆栈的,如http://spin.atomicobject.com/2013/01/13/exceptions-stack-traces-c/

我有两个疑虑:
这篇文章里面用的不知道linux各个版本内核是否是标准支持吗?
里面还用到一个命令addr2line,是否标准支持。

目前我想问问,有没有linux c已经实现好了的try catch框架,能打印异常堆栈,最好能定位到行。

阅读 7.4k
4 个回答

用断言
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))

setjmplongjmp 这两个函数可以实现类似的功能,好像是标准库里的函数
参见
http://blog.csdn.net/bigloomy/article/details/6659146

新手上路,请多包涵

啥叫C进程?你的进程可以自己打log嘛~等着C实现try catch,你有得等了~

新手上路,请多包涵

goto 啊 linux内核作者推荐的方式

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进