linux抓取运行时进程栈信息

Linux上开发时,一般进程运行结果和预期不符会通过打log记录日志分析运行过程,但有时log日志不全,再者一些大型系统长期运行不会过多的记录日志,一般可以设置core文件配置,以便进程在异常挂掉后自动记录栈信息,但大部分情况下进程是在运行过程中出现问题,这时就需要抓取运行时栈信息,结合日志进行分析了。

1. 主动kill进程生成core文件分析(前提是已经配置好生成core的配置:ulimit)

查询到运行进程pid,然后使用kill -11 <pid>向进程发送退出信号(段异常),生成core文件后使用gdb调取栈信息分析。

下面是linux信号值,一般发送默认动作为core的信号都可以生成core文件,其他则不生成。

 

2. 直接通过gstack命令抓取,不需要停掉目标进程。

参数:gstack <pid>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章