changeset 27233:fc668ac9ce7c

re-enter debugger when doing dbstep (bug #56150) * pt-eval.cc (tree_evaluator::do_breakpoint): Call enter_debugger if doing dbstep instead of trying to use existing debugger.
author John W. Eaton <jwe@octave.org>
date Thu, 11 Jul 2019 14:16:08 -0400
parents 3d10834979f8
children 279074d7a3b9
files libinterp/parse-tree/pt-eval.cc
diffstat 1 files changed, 2 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-eval.cc	Wed Jul 10 20:06:04 2019 -0700
+++ b/libinterp/parse-tree/pt-eval.cc	Thu Jul 11 14:16:08 2019 -0400
@@ -4430,11 +4430,7 @@
       }
 
     if (is_breakpoint)
-      {
-        m_dbstep_flag = 0;
-
-        enter_debugger ();
-      }
+      break_on_this_statement = true;
     else if (m_dbstep_flag > 0)
       {
         if (m_call_stack.current_frame () == m_debug_frame)
@@ -4492,12 +4488,7 @@
       {
         m_dbstep_flag = 0;
 
-        // We are stepping so the debugger should already exist.  If
-        // not, something went wrong.
-        if (m_debugger_stack.empty ())
-          error ("internal error: dbstep without an active debugger!");
-
-        m_debugger_stack.top()->repl ();
+        enter_debugger ();
       }
   }