6
我试图从另一个程序中获取运行进程(PID和二进制路径已知)的堆栈回溯。有问题的程序是用C++编写的,并用g ++和gdb调试符号编译。获取正在运行的进程的堆栈回溯
我正在寻找一个C或C++库,跨Linux,产生类似于调用POPEN()与像这样的输出的输出HP-UX和Solaris的工作原理:
gdb -batch -x /dev/stdin <BINARY> <PID> << EOF
thread apply all bt
EOF
我已经找到了lsstack(http://sourceforge.net/projects/lsstack/),它只是Linux,并且知道Solaris的pstack程序。
有没有人知道这样做交叉Unix/POSIX的可靠方法?
Linux上还有'gstack'工具,它通过调用类似上面的gdb来工作。 – mark4o 2010-01-06 18:47:37