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 Layne escreveu:
On Thu, Jun 15, 2006 at 11:04:56AM -0400, Christopher Faylor wrote:
I'm happy for you that CTRL-C works for you. It does not work for me.

I'm almost never running gdb from a genuine DOS command prompt. Sometimes via ssh, sometimes via a terminal emulator. CTRL-C doesn't work in those.

Also, if you have "tty" in your CYGWIN variable it doesn't work even
>from a DOS command prompt.

Which is exactly what I theorized above.  So, characterizing CTRL-C as
not working in gdb is rather an overstatement without more details.

Now you know that you can use a standard console window for debugging
and all will be well.

Lacking the ability to interrupt a running program severely limits gdb's usefulness. Fortunately there's a workaround available.
Yep. Use a console window.


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?


Where in the cygwin source tree would the best place be to look for where SIGINT handling is being done at the tty/pty level so that I can remove this pointless limitation from my builds?



See gdb/win32-nat.c:win32_stop

and also:
http://sourceware.org/ml/gdb-patches/2007-02/msg00294.html
Look for win32_send_signal in the patch.

Note that DebugBreakProcess only exists on XP or Windows 2003
server onwards.  For WinNT < XP, it should be possible to simulate
it with CreateRemoteThread with entry point set to
DebugBreak or something similar.  The worst case would be that a dll
would have to be injected to load a function that does the
DebugBreak in the debuggee's address space.

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]