- NAME
- gstack - print a stack trace of a running process
- SYNOPSIS
- gstack pid
- DESCRIPTION
- gstack attaches to the active process named by the pid on the command
- line, and prints out an execution stack trace. If ELF symbols exist in
- the binary (usually the case unless you have run strip(1)), then sym‐
- bolic addresses are printed as well.
- If the process is part of a thread group, then gstack will print out a
- stack trace for each of the threads in the group.
它的用法很简单,只要在gstack命令后面跟上某个进程pid就可以,例如查询一个newthread进程的运行堆栈信息:
gstack `pgrep newthread | head -1`
- [yuanping@Linux ~]$ gstack `pgrep newthread | head -1`
- Thread 2 (Thread 0xb77d7b40 (LWP 4165)):
- #0 0x00e13424 in __kernel_vsyscall ()
- #1 0x4ebf79c6 in nanosleep () from /lib/libc.so.6
- #2 0x4ebf77df in sleep () from /lib/libc.so.6
- #3 0x0804853a in thread ()
- #4 0x4ed27cd3 in start_thread () from /lib/libpthread.so.0
- #5 0x4ec324de in clone () from /lib/libc.so.6
- Thread 1 (Thread 0xb77d8900 (LWP 4164)):
- #0 0x00e13424 in __kernel_vsyscall ()
- #1 0x4ed28dd5 in pthread_join () from /lib/libpthread.so.0
- #2 0x080485bd in main ()
- [yuanping@Linux ~]$
本文介绍如何利用gstack工具获取运行中进程的堆栈信息。通过简单的命令行操作,即可实现对指定进程PID的堆栈跟踪,适用于调试多线程应用。示例展示了查询newthread进程的具体步骤及输出结果。
4813

被折叠的 条评论
为什么被折叠?



