C++ 获取正在运行的进程的堆栈回溯跟踪

C++ 获取正在运行的进程的堆栈回溯跟踪,c++,c,unix,stack-trace,C++,C,Unix,Stack Trace,我试图从另一个程序获取正在运行的进程(PID和二进制路径已知)的堆栈回溯。该程序用C++编写,用G+ + GDB调试符号编译。 我正在寻找一个C或C++库,它可以在Linux、HPX和Solaris中工作,产生类似于调用PONEN()输出的输出,类似于: gdb -batch -x /dev/stdin <BINARY> <PID> << EOF thread apply all bt EOF gdb-batch-x/dev/stdin您需要libunwin

我试图从另一个程序获取正在运行的进程(PID和二进制路径已知)的堆栈回溯。该程序用C++编写,用G+ + GDB调试符号编译。 我正在寻找一个C或C++库,它可以在Linux、HPX和Solaris中工作,产生类似于调用PONEN()输出的输出,类似于:
gdb -batch -x /dev/stdin <BINARY> <PID> << EOF
thread apply all bt
EOF

gdb-batch-x/dev/stdin您需要libunwind

谢谢!libunwind ptrace看起来很有前途。在Linux上还有
gstack
实用程序,它通过调用与上面类似的gdb来工作。