https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=9c8a6e56460cfa0b122884121561cb90a1864971
commit 9c8a6e56460cfa0b122884121561cb90a1864971 Author: Jon Turney <[email protected]> Date: Thu Jan 14 17:44:18 2016 +0000 faq: Update FAQ question and answer about gdb and signals * faq-programming.xml: Update question and answer about gdb and signals. Signed-off-by: Jon Turney <[email protected]> Diff: --- winsup/doc/faq-programming.xml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/winsup/doc/faq-programming.xml b/winsup/doc/faq-programming.xml index 0c936eb..18557c0 100644 --- a/winsup/doc/faq-programming.xml +++ b/winsup/doc/faq-programming.xml @@ -859,15 +859,22 @@ on using <literal>strace</literal>, see the Cygwin User's Guide. </answer></qandaentry> <qandaentry id="faq.programming.gdb-signals"> -<question><para>Why doesn't gdb handle signals?</para></question> +<question><para>How does gdb handle signals?</para></question> <answer> -<para>Unfortunately, there is only minimal signal handling support in gdb -currently. Signal handling only works with Windows-type signals. -SIGINT may work, SIGFPE may work, SIGSEGV definitely does. You cannot -'stop', 'print' or 'nopass' signals like SIGUSR1 or SIGHUP to the -process being debugged. +<para> +gdb maps known Windows exceptions to signals such as SIGSEGV, SIGFPE, SIGTRAP, +SIGINT and SIGILL. Other Windows exceptions are passed on to the handler (if +any), and reported as an unknown signal if an unhandled (second chance) +exception occurs. </para> + +<para> +There is also an experimental feature to notify gdb of purely Cygwin signals +like SIGABRT, SIGHUP or SIGUSR1. This currently has some known problems, for +example, single-stepping from these signals may not work as expected. +</para> + </answer></qandaentry> <qandaentry id="faq.programming.linker">
