我正在尝试从另一个程序获取正在运行的进程(已知PID和二进制路径)的堆栈回溯.有问题的程序是用C++编写的,用g ++和gdb调试符号编译.
我正在寻找一个适用于Linux,HP-UX和Solaris的C或C++库,它产生的输出类似于调用popen()的输出,类似于:
gdb -batch -x /dev/stdin <BINARY> <PID> << EOF
thread apply all bt
EOF
Run Code Online (Sandbox Code Playgroud)
我找到了lsstack(http://sourceforge.net/projects/lsstack/),它只是Linux,并且知道Solaris的pstack程序.
有没有人知道这种跨Unix/POSIX的可靠方式?