Robert Lunnon a écrit :
OK I am back onto the trail but the code doesn't make sense to me Continue Debug Event Sends a message continue_debug_event to the wineserver which ends up in this function in thread.c
basically what happens: let's call P the process that sends the debug event (ie the process being debugger) and D the debugger
- P gets an exception, and first wants to notify the debugger - P calls queue_exception_event in wineserver - WS (wineserver) then suspends P (ie signals every thread of P with SIGUSR1) - WS queues debug event - D gets the event (wait_debug_event) - D handles the event - D informs WS it's done with the event (continue_debug_event) - WS then resumes every thread of P (that's the wakeup_thread function) - P (in fact the thread that queued the event) resumes and can fetch the result of the handling of the debug event
HTH A+