获取在GDB中运行的挂起进程的堆栈跟踪

获取在GDB中运行的挂起进程的堆栈跟踪,gdb,freebsd,hung,Gdb,Freebsd,Hung,我正在试图弄清楚为什么我正在使用的程序挂起 我最初认为通过GDB运行它就“解决”了问题,但我得到的症状与以前完全相同——是否有任何方法可以向GDB发送一个信号或东西来打印堆栈跟踪,以便我可以尝试查看发生了什么 我使用的是FreeBSD-9.0。只需按Control-C,就可以中断GDB中正在运行的进程 然后,您可以使用backtrace命令获取回溯。我最终通过使用gcore(1)创建coredump,然后使用在GDB中创建的coredump启动myprogram来获取回溯。您可以使用GDB程序p

我正在试图弄清楚为什么我正在使用的程序挂起

我最初认为通过GDB运行它就“解决”了问题,但我得到的症状与以前完全相同——是否有任何方法可以向GDB发送一个信号或东西来打印堆栈跟踪,以便我可以尝试查看发生了什么


我使用的是FreeBSD-9.0。

只需按Control-C,就可以中断GDB中正在运行的进程


然后,您可以使用
backtrace
命令获取回溯。

我最终通过使用gcore(1)创建coredump,然后使用在GDB中创建的coredump启动myprogram来获取回溯。

您可以使用
GDB程序pid
GDB
附加到正在运行的进程。你试过了吗?我已经附加了它-我用命令“gdb myprogram”运行我的程序,它在“在”gdb中运行时挂起。我正在寻找某种交互式gdb命令,只需输出行号/堆栈等,或者使用
gcore(1)
当然,如果我运行它,程序不会挂起。