Class Reference
IRIS for UNIX 2024.1.2
|
|
Private
Storage
|
This class serves as a debug agent for debugging processes.
It receives client debugging commands, sends then to the debug target, gets responses, and sends them back to the client.
The implementation is based on the XDEBUG DBGP protocol used by the eclipse DLTK.
http://xdebug.org/docs-dbgp.php
|
|
|
This is the CLASS context for variable display in the IDE
Parameter for Localization
The default value to use for the "max_depth" feature if it wasn't set by the IDE
This is the PRIVATE context for variable display in the IDE
This is the PUBLIC context for variable display in the IDE
Require development resource
|
This holds the attached flag
Breakpoints
SessionId if attached to a CSP process
This holds the current command
This holds the Continuation command issued flag
This holds the debugger instance
This holds the debug_target (passsed to us by set_feature)
This holds the device list for $System.Socket.Select
This holds the values of the features set by the IDE
This holds the first run command flag
This holds the last 'continuation' command issued Continuation commands are 'run','step_into','step_over','step_out' 'stop' and 'detach'. We need to record this so that the appropriate status message can be reported to the client when a breakpoint is hit or the program ends.
This holds the next state to switch to
This holds the mappings from server stack level to IDE stack level
This says we started via Attach instead of Launch
This holds the target OR PID
This holds the TRACE flag
This holds the TRACE global node for this session
This holds the current transaction identifier
This holds the websocket device
|
Utility method to attach to the target process
Utility method to attach to a CSP process
Create an error response including error code and message to be displayed by IDE
Given a variable name and a value, create a property for reporting the response to an eval command to the IDE
Given a variable name and a value, create a property for reporting to the IDE If pGetChildren is set, also send the children of this variable. Used by property_get
Flush output before breaking the connection
Get the properties for the CLASS context
This method is given the debugger position (in the INT code) and returns a logical docname,label and offset The client will have to perform addtional logic to find exactly where in the source document the location is If pMapped is 0, then there is no source
Get InitMsg
Copied from%Studio.Debugger Return the current location of the debugger. This includes both the command and the argument positions. Returns 0 if an error occurs.
Given a context (Private,Public) and stack level, get the variables defined at that level
Intialize the trace (if required)
Utility method to interpolate values in a string
Utility method to launch the target given the properties set by set_feature
Map the command to the associated handler (assumes valid command) Some commands are handled inline
Copied from%Studio.Debugger Return the list of source files that the current break point maps to starting with the INT/BAS routine. Each source file is separated by a space character. The format of each source file data is:
routineName,label,beginCmdLine,beginCmdOffset,endCmdLine,endCmdOffset,beginArgLine,beginArgOffset,endArgLine,endArgOffset,Namespace
Event handler for the PreServer event: this is invoked before starting the WebSockets Server. Changes to theSharedConnection flag must be made here.
Parse XDebug command Definition:- cmd : cmdname [ arglist ]; cmdname : lowercase STRING arglist : arg | [ arg arglist ]; arg : argid argval argid : '-' CHAR argval : STRING Example:- feature_get -i 6 -n language_supports_threads The command string is parsed into this structure:- var="feature_get" var("-i")=6 var("-n")="language_supports_threads"
Report an event by writing to the WebSocket
The WebSocket Server
Here we do state specific tidy up (will be called if an error has occurred)
Log a trace if tracing enabled
IDE Command handler for 'break' command
breakpoint_get -d User.Debug.cls:DebugMe:3 -i 51"
breakpoint_list
breakpoint_remove
IDE Command handler for 'breakpoint_set' command breakpoint_set -m DebugMe -n 3 -r 0 -s enabled -t line -f dbgp://|USER|User.Debug.cls -i 10"
breakpoint_update
IDE Command handler for 'context_get' command
IDE Command handler for 'context_names' command
IDE Command handler for 'detach' command
IDE Command handler for 'eval' command
IDE Command handler for 'feature_get' command
IDE Command handler for 'feature_set' command
IDE Command handler for 'property_get' command
IDE Command handler for 'property_set' command
IDE Command handler for 'property_value' command
Given a string that is the output of Quote(), check for control characters that were left inside a quoted literal. If found, Quote that literal and insert it back into the original string. This is done carefully so we don't end up with double-double quotes.
IDE Command handler for 'run' command
IDE Command handler for 'stack_get' command
IDE Command handler for 'stdin' command
IDE Command handler for 'step_into' command
IDE Command handler for 'step_over' command
IDE Command handler for 'step_over' command
IDE Command handler for 'stop' command
IDE (pseudo) Command handler for 'watchpoint_set' command breakpoint_set -m DebugMe -n 2 -r 0 -s enabled -t watch -f dbgp://|USER|User.Debug.cls -i 22 -- WA==