Qore DebugProgramControl Module Reference  0.1.2
DebugProgramControl::DebugProgramControl Class Referenceabstract

Class implementing DebugProgram control using commands. More...

Inherits DebugProgram, and AbstractDebugControl.

Public Member Methods

abstract broadcastDataImpl (auto data)
 send data to all clients
 
 connectionRegistered (hash cx)
 send welcome message
 
 constructor (string serverName)
 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 More...
 
*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
 

Private Member Methods

*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
 

Private 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