Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gdb gives me infinite "Program received signal SIGTSTP" when I try to resume

Tags:

gdb

pthreads

I was running vlc in gdb and used ^Z to interrupt it (because ^C was not working) . After inspecting some stack frames and variables I tried to use "cont" to resume the program, but it kept giving me

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

Actually, only the first line was the same. The LWP id cycled between 19285 and 19284, and the address and function alternated as well.

I tried "cont -a" but it says `-a' is meaningless in all-stop mode.

What is the proper procedure to resume both threads?

like image 455
Mutant Bob Avatar asked Oct 08 '22 23:10

Mutant Bob


1 Answers

While calling "cont" enough times (once per thread) should resume the application, what works best for me for resuming from ^Z is

signal SIGCONT

Note that trying "cont" first and then "signal SIGCONT" may leave gdb in a strange state.

like image 50
whydoubt Avatar answered Oct 12 '22 11:10

whydoubt