53 namespace DebugProgramControl {
73 const frameOffset = 2;
100 updateConnectionContext(
hash cx,
auto cx_data);
109 broadcastBreakpoint(
hash cx, Breakpoint b,
string change);
128 auto resolveValue(
string name, *
string val,
hash strings,
auto defVal);
134 string encodeValue(
string name,
auto val,
hash strings);
140 int resolveStatement(ProgramControl pgm, *
hash value);
146 hash getBreakpointInfo(Breakpoint b);
152 *
hash getSourceCode(ProgramControl pgmb,
string type,
hash rd);
158 string getSourceCodeForLabel(
string name);
163 string getSourceCodeFromFile(
string name);
169 *
hash serializeLocal(
string name,
hash val);
187 *
hash handleInterrupt(
string func, ProgramControl pgm, reference runState, *
int statementId, *
string refName, *reference refValue, *
int breakpointId, *
hash except);
191 onAttach(ProgramControl pgm, reference rs);
194 onDetach(ProgramControl pgm, reference rs);
197 onStep(ProgramControl pgm,
int blockStatementId, *
int statementId, *
int breakpointId, reference flow, reference rs);
201 onStep(ProgramControl pgm,
int blockStatementId, *
int statementId, reference flow, reference rs);
204 onFunctionEnter(ProgramControl pgm,
int statementId, reference rs);
207 onFunctionExit(ProgramControl pgm,
int statementId, reference result, reference rs);
210 onException(ProgramControl pgm,
int statementId,
hash ex, reference dismiss, reference rs);
213 onExit(ProgramControl pgm,
int statementId, reference result, reference rs);
constructor(string serverName)
creates the object
Qore::Thread::RWLock rwlConnection()
lock for ctxConnection access
unregisterConnection(hash cx)
unregister a connection context
hash ctxThread
data pool related to suspended thread, key is threadId
Definition: DebugProgramControl.qm.dox.h:61
registerConnection(hash cx)
register context for new connection
Class implementing DebugProgram control using commands.
Definition: DebugProgramControl.qm.dox.h:56
Qore::Thread::RWLock rwlThread()
lock for ctxThread access
*int runAndDetach(Program pgm)
run and remove program from debugging
abstract sendDataImpl(hash cx, auto data)
send data to particular client
hash ctxConnection
data pool for data related to cx.id
Definition: DebugProgramControl.qm.dox.h:63
abstract broadcastDataImpl(auto data)
send data to all clients
shutdown()
resume any blocked threads
connectionRegistered(hash cx)
send welcome message
*hash processCommand(hash cx, hash receiveData)
process message in debugging thread, if message is related to debugged thread then put it in particul...
Program createProgram(string fileName, *hash opts, list args, *string script)
Create new program.
string sourceSearchPath
source file search path
Definition: DebugProgramControl.qm.dox.h:71
string serverName
server name
Definition: DebugProgramControl.qm.dox.h:69
destructor()
resumes any blocked threads and destroys the object