linux抓取运行时进程栈信息

本文介绍在Linux环境下,当进程运行结果与预期不符时,如何通过生成core文件和使用gstack命令来抓取运行时栈信息,以便于故障定位和问题分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

 

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

参数:gstack <pid>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值