gdb <-> signals, cYgSiGw00f

pedro alves alves.ped@gmail.com
Wed Feb 28 00:56:00 GMT 2007


Hi guys,

I notice that I can't get gdb to stop on signals.
I've made a tiny test app that just sits on a loop
waiting for a signal like this:

static void
handler(int sig)
{
  signal (sig, handler);
  printf ("in sig: %d\n", sig);
  OutputDebugString ("in sig\n");
}

int
main()
{
 int count = 0;
 signal (SIGUSR1, handler);
 while (1)
   {
     sleep (1);
     printf ("sleeping %d\n", count++);
   }
 return 0;
}

I run this under gdb, issue: handle SIGUSR1 nopass, open a shell
and issue kill -30 $(pid). The app prints the "in sig" message,
but gdb doesn't stop on the signal.

Chris/Corinna, was the support for those "cYgSiGw00f"
OUTPUT_DEBUG_STRING_EVENT events never implemented on
cygwin1.dll side?  Humm, I see something like:

cYgFFFFFFFF 6110A820cYgstd 22cc80 d 3
on app load, but I don't see any coming out when a signal
is sent/processed/received...

Arrrg, took me 30 minutes to port the signals support to
gdbserver, but I've spent forever and 3 minutes trying to
make this work.

Cheers,
Pedro Alves



More information about the Cygwin-developers mailing list