This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GDB Ctrl-C Interrupt Fails WORKAROUND


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]