35 #ifndef INCLUDE_QORE_QOREDEBUGPROGRAM_H_ 36 #define INCLUDE_QORE_QOREDEBUGPROGRAM_H_ 38 #include <qore/AbstractPrivateData.h> 40 #include <qore/support.h> 44 class AbstractStatement;
47 class qore_program_private;
48 class qore_debug_program_private;
50 enum DebugRunStateEnum :
unsigned char {
55 DBG_RS_UNTIL_RETURN = 4,
68 friend class qore_program_private;
69 friend class qore_debug_program_private;
72 qore_debug_program_private* priv;
78 DLLLOCAL QoreDebugProgram& operator=(
const QoreDebugProgram&);
96 printd(5,
"QoreDebugProgram::onAttach() this: %p\n",
this);
108 DLLEXPORT
virtual void onStep(
QoreProgram *pgm,
const StatementBlock *blockStatement,
const AbstractStatement *statement,
int &flow, DebugRunStateEnum &rs,
ExceptionSink* xsink) {
DLLEXPORT int breakProgramThread(QoreProgram *pgm, int tid) const
the base class for all data to be used as private data of Qore objects
Definition: AbstractPrivateData.h:44
virtual DLLEXPORT void onException(QoreProgram *pgm, const AbstractStatement *statement, DebugRunStateEnum &rs, ExceptionSink *xsink)
Definition: QoreDebugProgram.h:123
Class implementing breakpoint for debugging.
Definition: QoreProgram.h:912
virtual DLLEXPORT void onStep(QoreProgram *pgm, const StatementBlock *blockStatement, const AbstractStatement *statement, int &flow, DebugRunStateEnum &rs, ExceptionSink *xsink)
Definition: QoreDebugProgram.h:108
DLLEXPORT void waitForTerminationAndClear(ExceptionSink *xsink)
remove programs and wait till the program's last thread terminates
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:52
virtual DLLEXPORT void onFunctionEnter(QoreProgram *pgm, const StatementBlock *statement, DebugRunStateEnum &rs, ExceptionSink *xsink)
Definition: QoreDebugProgram.h:113
supports parsing and executing Qore-language code, reference counted, dynamically-allocated only ...
Definition: QoreDebugProgram.h:67
The main value class in Qore, designed to be passed by value.
Definition: QoreValue.h:112
supports parsing and executing Qore-language code, reference counted, dynamically-allocated only ...
Definition: QoreProgram.h:117
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:47
DLLEXPORT int breakProgram(QoreProgram *pgm) const
DLLEXPORT int getInterruptedCount()
get number of program currently interrupted
virtual DLLLOCAL ~QoreDebugProgram()
the destructor is private in order to prohibit the object from being allocated on the stack ...
DLLEXPORT QoreDebugProgram()
creates the object
virtual DLLEXPORT void onFunctionExit(QoreProgram *pgm, const StatementBlock *statement, QoreValue &returnValue, DebugRunStateEnum &rs, ExceptionSink *xsink)
Definition: QoreDebugProgram.h:118