GDB Ctrl-C Interrupt Fails WORKAROUND

Pedro Alves pedro_alves@portugalmail.pt
Thu Mar 1 01:12:00 GMT 2007


Christopher Faylor escreveu:
> On Thu, Mar 01, 2007 at 12:15:12AM +0000, Pedro Alves wrote:
>> Is there a reason DebugBreakProcess can't be used from inside
>> gdb if sending a ctrl-c with GenerateConsoleCtrlEvent (CTRL_C_EVENT, pid)
>> doesn't work?
> 
> I suppose that it could be used for that but it might be tricky figuring
> out when it was required and when it wasn't.  You wouldn't want to
> interrupt the process twice if it already saw the CTRL-C.  Although,
> maybe if you used this you could tell the inferior process not to
> process CTRL-C at all via some CreateProcess setting.
> 

What about doing it the other way around?  Use DebugBreakProcess if
available, and fallback to GenerateConsoleCtrlEvent?  Is there anything
internal to Cygwin that uses it?  We could teach gdb that the next
BreakPoint inside kernel32 (, or whatever dll DebugBreakProcess breaks in,)
is mapped to SIGINT, remap the event, and switch to the main thread, so
the user doesn't see we stopped inside kernel32.

Cheers,
Pedro Alves



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list