当我尝试恢复时,gdb 给了我无限的“程序接收信号 SIGTSTP”

Mut*_*Bob 5 gdb pthreads

我在 gdb 中运行 vlc 并使用 ^Z 中断它(因​​为 ^C 不起作用)。在检查了一些堆栈帧和变量后,我尝试使用“cont”来恢复程序,但它一直给我

Program received signal SIGTSTP, Stopped (user). 
[Switching to Thread 0x7fffd8d8e700 (LWP 19285)] 
0x00007ffff700247c in pthread_cond_wait@@GLIBC_2.3.2 ()
    from /lib64/libpthread.so.0
Run Code Online (Sandbox Code Playgroud)

实际上,只有第一行是相同的。LWP id 在 19285 和 19284 之间循环,地址和功能也交替。

我试过“cont -a”,但它说“-a”在全停模式下毫无意义。

恢复两个线程的正确程序是什么?

why*_*ubt 7

虽然调用“cont”足够多次(每个线程一次)应该恢复应用程序,但最适合我从 ^Z 恢复的是

signal SIGCONT
Run Code Online (Sandbox Code Playgroud)

请注意,先尝试“cont”然后再尝试“signal SIGCONT”可能会使 gdb 处于奇怪的状态。