Qore DebugProgramControl Module Reference 0.1.2
Loading...
Searching...
No Matches
DebugProgramControl::DebugProgramControl Class Reference

Class implementing DebugProgram control using commands. More...

Public Member Functions

abstract broadcastDataImpl (auto data)
 send data to all clients
 connectionRegistered (hash cx)
 send welcome message
 constructor (string serverName, *LoggerInterface logger)
 creates the object
Program createProgram (string fileName, *hash opts, list args, *string script)
 Create new program.
 destructor ()
 resumes any blocked threads and destroys the object
list getConnectionIds ()
 get list of connection ids
*hash processCommand (hash cx, hash receiveData)
 process message in debugging thread, if message is related to debugged thread then put it in particular queue
 registerConnection (hash cx)
 register context for new connection
abstract sendDataImpl (hash cx, auto data)
 send data to particular client
 shutdown ()
 resume any blocked threads
 unregisterAllConnections ()
 unregister all connections
 unregisterConnection (hash cx)
 unregister a connection context

Public Attributes

const DEFAULT_LINES_AFTER = 3
 default number of lines listed after current code position
const DEFAULT_LINES_BEFORE = 3
 default number of lines listed before current code position

Protected Member Functions

*int runAndDetach (Program pgm)
 run and remove program from debugging
Qore::Thread::RWLock rwlConnection ()
 lock for ctxConnection access
Qore::Thread::RWLock rwlThread ()
 lock for ctxThread access

Protected Attributes

hash ctxConnection
 data pool for data related to cx.id
hash ctxThread
 data pool related to suspended thread, key is threadId
const frameOffset = 2
 number of frames related to DebugProgramControl library when handleInterrupt() is invoked
string serverName
 server name
string sourceSearchPath = ""
 source file search path

Detailed Description

Class implementing DebugProgram control using commands.

Member Function Documentation

◆ getConnectionIds()

list DebugProgramControl::DebugProgramControl::getConnectionIds ( )

get list of connection ids

Note: Calling party should consider threads calling class register/unregister methods