This is the mail archive of the gdb@sourceware.org mailing list for the GDB 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: Any solution to not being able to interrupt step in GDB ?


Daniel Jacobowitz wrote:
On Wed, Feb 27, 2008 at 09:59:53PM +0000, Antony KING wrote:
Is there any clean solution I can use which allows me to break out this
loop if there is a pending SIGINT event waiting to be processed ? There
seems a be a need for a way to "stop stepping" when Ctrl-C is pressed.
One thought I have is to fake a target SIGINT signal by checking for a
pending SIGINT event after returning from target_wait() and modifying
ecs before calling handle_inferior_event().

I can refer you to the reply to the message you linked; which signal handler is running when not in your "sweet spot"?


The signal handler is the restored default handler, "handle_sigint". My target interface only substitutes that default SIGINT handler when implementing the target_wait() functionality (it is modelled on remote.c).


My first thought was that QUIT should achieve the effect I need but quit_flag, as was pointed out, is not being set soon enough. Also, forcing an immediate_quit is not suitable since I would like to stop the stepping cleanly with a target SIGINT (plus it breaks my target interface, but that is my problem :-).

Cheers,

Antony


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