[Question] Debugging multiple threads, how to get the other thread?

I have a program consisting of 2 threads, the main running Cursive, the other one running a model. Now these two threads send each other messages using mpsc::channel. The program hangs: my fault. I want to find out why, so ... out comes gdb. I just discovered nemiver, so I will use that.

That works .... to a point. I can see the main thread, and where it is waiting (an mpsc::receiver::recv()). I cannot see however, what the other thread is doing.

Can anyone point me into the right direction in finding the other thread?

You can use info threads to list active threads and thread <id> to switch between them, in much the same way that bt prints a backtrace and frame <id> switches between stack frames.

For more info, see the relevant page of the GDB manual.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.