Glenn Wurster gwurster@scs.carleton.ca writes:
Moving the calling of the debugger into the signal handler takes away the dependance on a correct signal stack. It lets us:
- Debug a program without having to modify it's memory to call the
debugger.
- Set breakpoints and single step through areas where the stack
pointer is incorrect.
- Use the debugger even when the application is at it's upper stack
limit (so we can see where the stack overflow exists).
- Examine exceptions and application state when an exception is
generated while stack pointer is bad.
All these can be done on Windows, and therefore sending events to the Windows debugger must be done without relying on the program stack. It would make sense for the wine debugger to be equally capable.
Sure, that would be nice, just be aware that it's not acceptable to break anything in the normal exception handling semantics, since that has to always take priority over the debugger support. Also note that we used to handle exceptions on the signal stack, and it was causing lots of problems, which is why I'm a bit skeptical. Now, doing only the first chance bit on the signal stack would probably be easier, but it's still far from trivial...