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

Posted DoubleLi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 如何查看一个进程的堆栈相关的知识,希望对你有一定的参考价值。

有两种方法:

第一种:pstack 进程ID

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

 

第三种:strace -f -p pid  该方法和pstack类似

第四中:gcore pid ,输出core文件,gdb cmd corefile

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

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

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


转自:http://blog.csdn.net/jimmyleeee/article/details/4651158

pstack不是一个链接程序,所以不需要其他库的支持,这个是centos5.8 的pstack:技术分享pstack.rar
copy过去就可以直接用了。

以上是关于Linux 如何查看一个进程的堆栈的主要内容,如果未能解决你的问题,请参考以下文章

谁知道如何查看Windows下正在运行的程序堆栈,Linux可以用gdb,windows下该用啥

linux应用中,在一个进程内如何获取本进程内其它线程的堆栈信息、

什么是线程,如何查看线程

如何查看xcode调用堆栈

Linux 下查看某个进程运行的堆栈信息

linux上程序溢出了 怎么查看堆栈