在编写稳定可靠的软件服务时经常用到输出堆栈信息,以便用户/开发者获取准确的运行信息。常用在日志输出,错误报告,异常检测。以上代码从参考的stackoverflow中稍作修改而来。核心就是backtrace与backtrace_symbols两个函数。Windows下推荐用StackWalker这个开源代码,支持X86,AMD64,IA64。如果你需要一个最简的代码,那么下面是我抽取出来的代码,明显比Linux要复杂一些。(Win的很多功能实现起来要复杂一些,当然也有很多功能实现要比Linux简单很多。为了这三个函数正常工作,还要初始化符号相关功能,取得当前线程描述表,加载用到的模块。用到了 这两个头文件。这篇在Linux与Windows上获取当前堆栈信息的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
暂无评论