我正在尝试从另一个程序获取正在运行的进程的堆栈回溯(已知PID和二进制路径)。所涉及的程序是用带有gdb调试符号的g++编写的C ++。
我正在寻找一个在Linux,HP-UX和Solaris上工作的C或C ++库,其产生的输出类似于使用类似以下内容的popen()调用的输出:
我找到了lsstack(http://sourceforge.net/projects/lsstack/),它只适用于Linux,并且我知道Solaris的pstack程序。
有人知道在跨Unix / POSIX系统上可靠地执行此操作的方法吗?
我正在寻找一个在Linux,HP-UX和Solaris上工作的C或C ++库,其产生的输出类似于使用类似以下内容的popen()调用的输出:
gdb -batch -x /dev/stdin <BINARY> <PID> << EOF
thread apply all bt
EOF
我找到了lsstack(http://sourceforge.net/projects/lsstack/),它只适用于Linux,并且我知道Solaris的pstack程序。
有人知道在跨Unix / POSIX系统上可靠地执行此操作的方法吗?
gstack
实用程序,它通过调用类似于上面的gdb来工作。 - mark4o