* infcmd.c (step_1_continuation): Always disable longjmp
breakpoint if we're not going to do another step.
This commit is contained in:
parent
f107f56344
commit
f13468d93e
2 changed files with 22 additions and 16 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
* infcmd.c (step_1_continuation): Always disable longjmp
|
||||
breakpoint if we're not going to do another step.
|
||||
|
||||
2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
|
||||
|
||||
exec_cleanup murder.
|
||||
|
|
33
gdb/infcmd.c
33
gdb/infcmd.c
|
@ -804,24 +804,25 @@ which has no line number information.\n"), name);
|
|||
static void
|
||||
step_1_continuation (struct continuation_arg *arg, int error_p)
|
||||
{
|
||||
if (error_p)
|
||||
disable_longjmp_breakpoint ();
|
||||
else
|
||||
int count;
|
||||
int skip_subroutines;
|
||||
int single_inst;
|
||||
|
||||
skip_subroutines = arg->data.integer;
|
||||
single_inst = arg->next->data.integer;
|
||||
count = arg->next->next->data.integer;
|
||||
|
||||
if (error_p || !step_multi || !stop_step)
|
||||
{
|
||||
int count;
|
||||
int skip_subroutines;
|
||||
int single_inst;
|
||||
|
||||
skip_subroutines = arg->data.integer;
|
||||
single_inst = arg->next->data.integer;
|
||||
count = arg->next->next->data.integer;
|
||||
|
||||
if (stop_step)
|
||||
step_once (skip_subroutines, single_inst, count - 1);
|
||||
else
|
||||
if (!single_inst || skip_subroutines)
|
||||
disable_longjmp_breakpoint ();
|
||||
/* We either hit an error, or stopped for some reason
|
||||
that is not stepping, or there are no further steps
|
||||
to make. Cleanup. */
|
||||
if (!single_inst || skip_subroutines)
|
||||
disable_longjmp_breakpoint ();
|
||||
step_multi = 0;
|
||||
}
|
||||
else
|
||||
step_once (skip_subroutines, single_inst, count - 1);
|
||||
}
|
||||
|
||||
/* Do just one step operation. If count >1 we will have to set up a
|
||||
|
|
Loading…
Add table
Reference in a new issue