Linux 如何查看一个进程的堆栈

1.用pstack

第一种:pstack 进程ID

第二种,使用gdb 然后attach 进程ID,然后再使用命令 thread apply all bt

两种方法都可以列出进程所有的线程的当前的调用栈。

不过,使用gdb的方法,还可以查看某些信息,例如局部变量,指针等。

不过,如果只看调用栈的话,pstack还是很方便的。

https://www.ibm.com/developerworks/cn/linux/l-cn-deadlock/

2.用gstack

gstack -打印正在运行的进程的堆栈跟踪

使用方法:

gstack PID

描述

gstack连接到命令行中pid的活动进程

打印执行堆栈跟踪。如果ELF符号存在于二进制(usu -)中

如果你没有运行条带(1),那么这个例子就会被打印出来

同样如此。

如果进程是线程组的一部分,那么gstack将打印出一个堆栈

对组中的每个线程进行跟踪。

转载连接:http://yizhanggou.top/linux--e5-a6-82-e4-bd-95-e6-9f-a5-e7-9c-8b-e4-b8-80-e4-b8-aa-e8-bf-9b-e7-a8-8b-e7-9a-84-e5-a0-86-e6-a0-88/

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值