diff libinterp/corefcn/interpreter.h @ 29306:0231189f630d

provide interpreter methods for pausing, resuming, and stopping evaluation * interpreter.h, interpreter.cc (interpreter::pause, interpreter::resume, interpreter::stop): New methods. * pt-eval.h, pt-eval.cc (tree_evaluator::m_break_on_next_stmt): New member variable. (tree_evaluator::do_breakpoint): Also check m_break_on_next_stmt. (tree_evaluator::break_on_next_statement): New functions. (tree_evaluator::reset_debug_state): Also set m_debug_mode if m_break_on_next_stmt is true.
author John W. Eaton <jwe@octave.org>
date Wed, 20 Jan 2021 16:53:16 -0500
parents b73ddb964093
children 7854d5752dd2
line wrap: on
line diff
--- a/libinterp/corefcn/interpreter.h	Wed Jan 20 16:45:45 2021 -0500
+++ b/libinterp/corefcn/interpreter.h	Wed Jan 20 16:53:16 2021 -0500
@@ -479,6 +479,17 @@
 
     void interrupt (void);
 
+    // Pause interpreter execution at the next available statement and
+    // enter the debugger.
+    void pause (void);
+
+    // Exit debugger or stop execution and return to the top-level REPL
+    // or server loop.
+    void stop (void);
+
+    // Resume interpreter execution if paused.
+    void resume (void);
+
     void handle_exception (const execution_exception& ee);
 
     void recover_from_exception (void);