This is the mail archive of the gdb-patches@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: Stop breakpoint commands from poping the target


Pedro Alves wrote:

> This patch goes on top of Vladimir's pending async fixes patch.
> 
> commands.exp triggers the problem this patch addresses, in
> async mode.
> 
> In that test, we have a watch on a local variable, and then we
> add a command to that watch to print the local variable's
> value.  When the variable goes out of scope, gdb prints that,
> and also runs the associated commands with the watch.  Since
> the variable is out of scope, and error is thrown.  In sync
> targets, the exception just ends the breakpoints command
> processing, and goes on to proceed with the command loop.  But in
> async mode, the exception ends up in
> inf-loop.c:inferior_event_handler/INF_REG_EVENT, which considers exceptions
> fatal, and pops the target.  The fix is to catch the exception earlier.

Why do we pop the target in the first place? It does not seem like
a good idea to do that if any exception is thrown.

I actually agree that if breakpoint commands fail, it's not
then end of world, and we can go on with continuations.  But at the same
time, popping target on any unhandled exception sounds a little bit drastic.

- Volodya



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