在Linux中如何利用backtrace信息解决问题.docVIP

  • 17
  • 0
  • 约8.96千字
  • 约 7页
  • 2018-01-09 发布于河南
  • 举报

在Linux中如何利用backtrace信息解决问题.doc

在Linux中如何利用backtrace信息解决问题

在Linux中如何利用backtrace信息解决问题 一、导读 在程序调试过程中如果遇到程序崩溃死机的情况下我们通常多是通过出问题时的栈信息来找到出错的地方,这一点我们在调试一些高级编程语言程序的时候会深有体会,它们通常在出问题时会主动把出问题时的调用栈信息打印出来,比如我们在eclipse中调试Java程序时。 当这些换到Linux上的C/C++环境时情况将变的稍微复杂一些,通常在这种情况下是通过拿到出问题时产生的core文件然后再利用gdb调试来看到出错时的程序栈信息,这是再好不过的了,但当某些特殊的情况如不正确的系统设置或文件系统出现问题时导致我们没有拿到core文件那我们还有补救的办法吗?本文将介绍在程序中安排当出现崩溃退出时把当前调用栈通过终端打印出来并定位问题的方法。 二、输出程序的调用栈 1、获取程序的调用栈 在Linux上的C/C++编程环境下,我们可以通过如下三个函数来获取程序的调用栈信息。 #include execinfo.h /* Store up to SIZE return address of the current program state in ARRAY and return the exact number of values stored. */ int backtrace(void **array, int size); /* R

文档评论(0)

1亿VIP精品文档

相关文档