remote debugging a multi-threaded program with signal

Atsushi Nemoto anemo@mba.ocn.ne.jp
Thu Mar 4 14:58:00 GMT 2004


>>>>> On Thu, 04 Mar 2004 01:06:24 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp> said:

anemo> There is a program on remote-debugging a multi-threaded program
anemo> which uses signals.  After receiving a signal (configured to
anemo> "nostop"), the thread which receives it resumes normally but
anemo> other threads leave stopped.

The last packet sent to gdbserver is "$vCont;C1e:402" (see gdb.output1).

gdb's info states:

`vCont'[;ACTION[`:'TID]]... -- extended resume
     Resume the inferior.  Different actions may be specified for each
     thread.  If an action is specified with no TID, then it is applied
     to any threads that don't have a specific action specified; if no
     default action is specified then other threads should remain
     stopped.  ...

So the patcket means "continue thread 0x402 with signal 0x1e, others
remain stopped".  Then current gdbserver's behavior is correct.  

Following the info statements, gdb should send "$vCont;C1e:402;c" to
handle a "nostop" signal correctly?

---
Atsushi Nemoto



More information about the Gdb-patches mailing list