Loading...
Searching...
No Matches
QC_DebugProgram.dox.h
namespace Qore {
class DebugProgram {
public:
/***
*/
nothing addProgram(ProgramControl pgm);
public:
/*** @return 0 if the operation was successful, returns -1 if the program does not allow debugging (i.e. @ref Qore::PO_NO_DEBUGGING is set) or -2 if the program has not been set as a debug target
*/
int breakProgram(ProgramControl pgm);
public:
/*** @return 0 if the operation was successful, returns -1 if the program does not allow debugging (i.e. @ref Qore::PO_NO_DEBUGGING is set), -2 if the program has not been set as a debug target, or -3 if the given thread is not active in the target program
*/
int breakProgramThread(ProgramControl pgm, int tid);
public:
/***
*/
constructor();
public:
copy();
public:
/***
*/
destructor();
public:
/***
*/
list getAllPrograms();
public:
/***
*/
int getInterruptedCount();
public:
/***
*/
abstract onAttach(ProgramControl pgm, reference rs, reference rtsid);
public:
/***
*/
abstract onDetach(ProgramControl pgm, reference rs, reference rtsid);
public:
abstract onException(ProgramControl pgm, int statement, hash ex, reference dismiss, reference rs, reference rtsid);
public:
abstract onExit(ProgramControl pgm, int statement, reference returnValue, reference rs, reference rtsid);
public:
abstract onFunctionEnter(ProgramControl pgm, int statement, reference rs, reference rtsid);
public:
abstract onFunctionExit(ProgramControl pgm, int statement, reference returnValue, reference rs, reference rtsid);
public:
/***
*/
abstract onStep(ProgramControl pgm, int blockStatement, *int statement, *int breakpointId, reference flow, reference rs, reference rtsid);
public:
/***
*/
nothing removeProgram(ProgramControl pgm);
public:
/***
*/
nothing waitForTerminationAndClear();
};
const DebugDetach = DBG_RS_DETACH;
const DebugRun = DBG_RS_RUN;
const DebugStep = DBG_RS_STEP;
const DebugStepOver = DBG_RS_STEP_OVER;
const DebugUntilReturn = DBG_RS_UNTIL_RETURN;
const DebugFlowBreak = RC_BREAK;
const DebugFlowContinue = RC_CONTINUE;
const DebugFlowReturn = RC_RETURN;
}
Qore::DebugProgram
DebugProgram class supports Qore Program debugging via ProgramControl.
Definition: QC_DebugProgram.dox.h:42
Qore::DebugProgram::breakProgramThread
int breakProgramThread(ProgramControl pgm, int tid)
Break particular program thread.
Qore::DebugProgram::onFunctionEnter
abstract onFunctionEnter(ProgramControl pgm, int statement, reference rs, reference rtsid)
Executed when a function is entered.
Qore::DebugProgram::breakProgram
int breakProgram(ProgramControl pgm)
Break program, i.e. all threads.
Qore::DebugProgram::removeProgram
nothing removeProgram(ProgramControl pgm)
Remove program from debugging.
Qore::DebugProgram::onFunctionExit
abstract onFunctionExit(ProgramControl pgm, int statement, reference returnValue, reference rs, reference rtsid)
Executed when a function is exited.
Qore::DebugProgram::getAllPrograms
list getAllPrograms()
Get all programs being debugged.
Qore::DebugProgram::onException
abstract onException(ProgramControl pgm, int statement, hash ex, reference dismiss, reference rs, reference rtsid)
Executed when an exception is raised.
Qore::DebugProgram::onDetach
abstract onDetach(ProgramControl pgm, reference rs, reference rtsid)
Executed when thread is datached from program being debugged.
Qore::DebugProgram::waitForTerminationAndClear
nothing waitForTerminationAndClear()
Clear all programs and wait for all threads to finish executing callbacks.
Qore::DebugProgram::destructor
destructor()
Waits for all threads to finish executing, then deletes all global variables, dereferences the intern...
Qore::DebugProgram::onStep
abstract onStep(ProgramControl pgm, int blockStatement, *int statement, *int breakpointId, reference flow, reference rs, reference rtsid)
Executed when step is performed.
Qore::DebugProgram::constructor
constructor()
Creates the debug program object with notification functions without any functionality.
Qore::DebugProgram::copy
copy()
Throws an exception to prevent objects of this class from being copied.
Qore::DebugProgram::getInterruptedCount
int getInterruptedCount()
Get number of interrupted threads.
Qore::DebugProgram::addProgram
nothing addProgram(ProgramControl pgm)
Add program to debugging.
Qore::DebugProgram::onAttach
abstract onAttach(ProgramControl pgm, reference rs, reference rtsid)
Executed when new thread is attached to program being debugged.
Qore::DebugProgram::onExit
abstract onExit(ProgramControl pgm, int statement, reference returnValue, reference rs, reference rtsid)
Executed when a program/thread is exited.
Qore::ProgramControl
The ProgramControl class provides safe information about a Qore program.
Definition: QC_ProgramControl.dox.h:45
Qore::DebugFlowReturn
const DebugFlowReturn
force return Statements command
Definition: QC_DebugProgram.dox.h:181
Qore::DebugFlowContinue
const DebugFlowContinue
force continue Statements command
Definition: QC_DebugProgram.dox.h:179
Qore::DebugFlowBreak
const DebugFlowBreak
force break Statements command
Definition: QC_DebugProgram.dox.h:177
Qore::DebugStep
const DebugStep
Run one step in program, in case of function call stepping goes on in function.
Definition: QC_DebugProgram.dox.h:163
Qore::DebugDetach
const DebugDetach
Detach program from debugging, it is not normally used from script.
Definition: QC_DebugProgram.dox.h:159
Qore::DebugUntilReturn
const DebugUntilReturn
Run program till function is exited.
Definition: QC_DebugProgram.dox.h:167
Qore::DebugStepOver
const DebugStepOver
Run one step in program, in case of function call stepping does not go to function.
Definition: QC_DebugProgram.dox.h:165
Qore::DebugRun
const DebugRun
Run program, avoid stepping.
Definition: QC_DebugProgram.dox.h:161
Qore::hash
hash< auto > hash()
Always returns the same hash passed.
Qore::list
list< auto > list(...)
Returns a list of the arguments passed at the top level.
Qore
main Qore-language namespace
Definition: Pseudo_QC_All.dox.h:3