diff options
author | Pedro Alves <pedro@codesourcery.com> | 2009-01-23 15:47:02 +0000 |
---|---|---|
committer | Pedro Alves <pedro@codesourcery.com> | 2009-01-23 15:47:02 +0000 |
commit | 857c05cde38f5b6529d4eb2e2570710b65b71b11 (patch) | |
tree | 1a1922dd51655162a454515a17d18d650cb0da5f /gdb/infrun.c | |
parent | a1e78a92edb65f61398f75fa82122fa36a31f3dc (diff) | |
download | gdb-857c05cde38f5b6529d4eb2e2570710b65b71b11.tar.gz |
2009-01-23 Pedro Alves <pedro@codesourcery.com>
PR gdb/9664:
* infrun.c (normal_stop): Tag threads as stopped, and run the
hook-stop before printing the stack frame.
2009-01-23 Pedro Alves <pedro@codesourcery.com>
PR gdb/9664:
* gdb.base/hook-stop-frame.c, gdb.base/hook-stop-frame.exp: New.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index 92092ab9e10..c11c71a263a 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -4269,6 +4269,15 @@ Further execution is probably impossible.\n")); if (target_has_stack && !stop_stack_dummy) set_current_sal_from_frame (get_current_frame (), 1); + /* Let the user/frontend see the threads as stopped. */ + do_cleanups (old_chain); + + /* Look up the hook_stop and run it (CLI internally handles problem + of stop_command's pre-hook not existing). */ + if (stop_command) + catch_errors (hook_stop_stub, stop_command, + "Error while running hook_stop:\n", RETURN_MASK_ALL); + if (!target_has_stack) goto done; @@ -4425,16 +4434,6 @@ done: Delete any breakpoint that is to be deleted at the next stop. */ breakpoint_auto_delete (inferior_thread ()->stop_bpstat); } - - /* Tell the frontend about the new thread states. */ - do_cleanups (old_chain); - - /* Look up the hook_stop and run it (CLI internally handles problem - of stop_command's pre-hook not existing). */ - if (stop_command) - catch_errors (hook_stop_stub, stop_command, - "Error while running hook_stop:\n", RETURN_MASK_ALL); - } static int |