linux 抓堆栈 core文件分析

本文介绍了如何在Linux环境下通过gdb、gcore.sh、pstack.sh和get_core_info.sh等工具来获取和分析core文件,以得到进程的堆栈信息。gcore.sh用于生成core文件,pstack.sh显示所有线程的堆栈轨迹,而get_core_info.sh则用于详细分析core文件内容。
摘要由CSDN通过智能技术生成

【使用说明】:

1 得到core的全部信息: ./get_core_info.sh  application_name  core_file

  eg:  ./get_core_info.sh  /etc/houyi/snapshot_tool   core.122
  如果执行成功会在当前目录下产生一个core.snapshot_tool.122.txt 文件
2 ./pstack.sh  process_id  会在当前目录下生成对应进程名的堆栈信息并分析生成线程堆栈信息.txt文件

3 ./gcore.sh process_id 得到对应进程号的堆栈信息并生成core文件


【gcore.sh】

command=tmp.command;
echo "generate-core-file" > ${command};
process_id=$1;
gdb -p ${process_id} < tmp.command > & /dev/null;
rm ${command};


【pstack.sh】

command=tmp.command;
process_id=$1;
echo "attach $process_id" > ${command}
echo "thread apply all where" >> ${command}
echo "detach" >> ${command}
echo "quit" >> ${command}
gdb  < tmp.command >   ${process_id}.txt  2> /dev/null;
rm ${command};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值