How to debug fatal exceptions on Windows?

Eli Zaretskii
Tue Aug 6 15:34:00 GMT 2013

I need the help of the wizards here, thanks in advance.

For some time now people who track Emacs development on Windows (using
MinGW) report crashes that seem like some fatal exception that is
caught by the top-level exception handler installed by the MinGW
startup code.  Here's a recent example with the backtrace:

  #0  0x75639bfd in KERNELBASE!DebugBreak () from /cygdrive/c/Windows/SYSTEM32/KERNELBASE.dll
  #1  0x01156c53 in emacs_abort () at w32fns.c:7717
  #2  0x0100145d in terminate_due_to_signal (sig=11, backtrace_limit=40) at emacs.c:344
  #3  0x011472bb in handle_fatal_signal (sig=11) at sysdep.c:1638
  #4  0x01147296 in deliver_thread_signal (sig=11, handler=0x11472a2 <handle_fatal_signal>) at sysdep.c:1614
  #5  0x011472ef in deliver_fatal_thread_signal (sig=11) at sysdep.c:1650
  #6  0x010011ea in _gnu_exception_handler@4 ()
  #7  0x7564084e in UnhandledExceptionFilter () from /cygdrive/c/Windows/SYSTEM32/KERNELBASE.dll
  #8  0x008867a4 in ?? ()
  #9  0x775fbf2c in ntdll!RtlCreateUserThread () from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
  #10 0x775dbf0c in ntdll!RtlInitializeExceptionChain () from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
  #11 0x00000000 in ?? ()

gnu_exception_handler is the handler installed by startup.

The problem is that given this information it is impossible to say
which code triggered the problem (or at least I don't know how), and
thus the problem, whatever it is, goes unsolved.

Could someone suggest techniques for how to dig deeper into such
problems in order to find out which application code causes this?  If
additional diagnostic code should be added to Emacs, that is OK, as
long as that additional code can be in the application, not in the
startup code.


More information about the Gdb mailing list