This class serves as a debug agent for debugging processes. More...
Public Member Functions | |
_.Library.Status | Attach () |
Utility method to attach to the target process. | |
_.Library.Status | AttachCSP () |
Utility method to attach to a CSP process. | |
_.Library.String | CreateErrorResponse (_.Library.String pCmd, _.Library.Integer pErrorCode, _.Library.Integer pTransactionId, _.Library.String pMsg) |
Create an error response including error code and message to be displayed by IDE. | |
_.Library.Status | CreateEvalPropertyResponse (_.Library.String pVarName, _.Library.String pVarValue, _.Library.String pXML, _.Library.Integer pCurrentDepth) |
Given a variable name and a value, create a property for reporting the response to an eval command to the IDE. | |
_.Library.Status | CreatePropertyResponse (_.Library.String pVarName, _.Library.String pVarValue, _.Library.String pXML, _.Library.Boolean pGetChildren, _.Library.Integer pCurrentDepth) |
Given a variable name and a value, create a property for reporting to the IDE. More... | |
FlushOutput () | |
Flush output before breaking the connection. | |
_.Library.Status | GetClassProperties (_.Library.String pPropList) |
Get the properties for the CLASS context. | |
_.Library.Status | GetInitMsg (pInitMsg) |
Get InitMsg. | |
_.Library.Status | GetStackProperties (_.Library.Integer pContext, _.Library.Integer pServerLevel, _.Library.String pPropList) |
Given a context (Private,Public) and stack level, get the variables defined at that level. | |
InitTrace () | |
Intialize the trace (if required) | |
_.Library.Status | Launch () |
Utility method to launch the target given the properties set by set_feature. | |
_.Library.Status | MapCommandToHandler (_.Library.String pCmdString) |
Map the command to the associated handler (assumes valid command) More... | |
_.Library.Status | OnPreServer () |
Event handler for the PreServer event: this is invoked before. More... | |
_.Library.Status | ParseCommand (_.Library.String pCmdString, pParsed) |
Parse XDebug command. More... | |
_.Library.Status | ReportEvent (_.Library.String pEvent, pXmlData) |
Report an event by writing to the WebSocket. | |
_.Library.Status | Server () |
The WebSocket Server. | |
_.Library.Status | TidyUp (pStatus) |
Here we do state specific tidy up (will be called if an error has occurred) | |
Trace (_.Library.String pMsg) | |
Log a trace if tracing enabled. | |
_.Library.Status | break () |
IDE Command handler for 'break' command. | |
_.Library.Status | breakpoint_get () |
breakpoint_get -d User.Debug.cls:DebugMe:3 -i 51" | |
_.Library.Status | breakpoint_list () |
breakpoint_list | |
_.Library.Status | breakpoint_remove () |
breakpoint_remove | |
_.Library.Status | breakpoint_set () |
IDE Command handler for 'breakpoint_set' command. More... | |
_.Library.Status | breakpoint_update () |
breakpoint_update | |
_.Library.Status | context_get () |
IDE Command handler for 'context_get' command. | |
_.Library.Status | context_names () |
IDE Command handler for 'context_names' command. | |
detach () | |
IDE Command handler for 'detach' command. | |
_.Library.Status | eval () |
IDE Command handler for 'eval' command. | |
_.Library.Status | feature_get () |
IDE Command handler for 'feature_get' command. | |
_.Library.Status | feature_set () |
IDE Command handler for 'feature_set' command. | |
_.Library.Status | property_get () |
IDE Command handler for 'property_get' command. | |
_.Library.Status | property_set () |
IDE Command handler for 'property_set' command. | |
_.Library.Status | property_value () |
IDE Command handler for 'property_value' command. | |
_.Library.Status | run () |
IDE Command handler for 'run' command. | |
_.Library.Status | stack_get () |
IDE Command handler for 'stack_get' command. | |
_.Library.Status | stdin () |
IDE Command handler for 'stdin' command. | |
_.Library.Status | step_into () |
IDE Command handler for 'step_into' command. | |
_.Library.Status | step_out () |
IDE Command handler for 'step_over' command. | |
_.Library.Status | step_over () |
IDE Command handler for 'step_over' command. | |
stop () | |
IDE Command handler for 'stop' command. | |
_.Library.Status | watchpoint_set () |
IDE (pseudo) Command handler for 'watchpoint_set' command. More... | |
![]() | |
_.Library.Status | EndServer () |
Gracefully terminate the WebSocket Server. | |
_.Library.Status | Initialize (_.Library.String WebSocketID, _.Library.String GWClientAddress) |
Internal method to initialize the WebSocket Class. | |
_.Library.Status | InitializeServer () |
Internal method to initialize the WebSocket Server. | |
_.Library.Status | OnClientMessage (_.Library.String data, _.Library.Integer close) |
Event handler for the ClientMessage event: this method is only relevant to. More... | |
_.Library.Status | OnPostServer () |
Event handler for the PostServer event: this is invoked after. More... | |
_.Library.Status | OpenServer (_.Library.String WebSocketID) |
Method to open an existing WebSocket Server. More... | |
_.Library.String | Read (_.Library.Integer len, _.Library.Status sc, _.Library.Integer timeout) |
Reads up to len characters from the client. More... | |
_.Library.Status | Write (_.Library.String data) |
Write to the client. | |
![]() | |
_.Library.Status | OnAddToSaveSet (_.Library.Integer depth, _.Library.Integer insert, _.Library.Integer callcount) |
This callback method is invoked when the current object is added to the SaveSet,. More... | |
_.Library.Status | OnClose () |
This callback method is invoked by the <METHOD>Close</METHOD> method to. More... | |
_.Library.Status | OnConstructClone (_.Library.RegisteredObject object, _.Library.Boolean deep, _.Library.String cloned) |
This callback method is invoked by the <METHOD>ConstructClone</METHOD> method to. More... | |
_.Library.Status | OnNew () |
This callback method is invoked by the <METHOD>New</METHOD> method to. More... | |
_.Library.Status | OnValidateObject () |
This callback method is invoked by the <METHOD>ValidateObject</METHOD> method to. More... | |
Static Public Member Functions | |
GetClientPosFromDebugPos (pServerIntPos, pMapped, pNameSpace, pDocName, pLabel, pOffset) | |
This method is given the debugger position (in the INT code) and returns a logical docname,label and offset. More... | |
_.Library.String | Interpolate (pString, pTerm, pValue) |
Utility method to interpolate values in a string. | |
_.Library.String | requote (_.Library.String value) |
Given a string that is the output of Quote(), check for control characters that were. More... | |
![]() | |
_.Library.Status | ConvertParameter (_.Library.String url, _.Library.String name, _.Library.String value) |
You pass this the <parameter>url</parameter> of the page you are going to and a. More... | |
_.Library.Binary | Decrypt (_.Library.String data) |
Decrypts the input string using the session.Key value that is unique to. More... | |
_.Library.String | Encrypt (_.Library.Binary data) |
Encrypts the input string using the session.Key value that is unique to this. More... | |
_.Library.String | EscapeHTML (in) |
This method converts input HTML text into Escaped HTML text. | |
_.Library.String | EscapeURL (_.Library.String in, _.Library.String charset) |
This method converts the in input URL string into Escaped URL string. More... | |
_.Library.String | HyperEventCall (_.Library.String methodName, _.Library.String args, _.Library.Integer type, _.Library.Boolean mobile) |
This method returns the string that needs to be written to the current. More... | |
_.Library.String | HyperEventHead (_.Library.Boolean iframeOnly, _.Library.Boolean strict, _.Library.Boolean optionalBroker) |
This method returns the string that needs to be written to the current. More... | |
Include (_.Library.String url) | |
Include another csp page or file in the output at this point. More... | |
_.Library.String | InsertHiddenField (_.Library.String url, _.Library.String name, _.Library.String value, _.Library.String extra) |
Inserts a '<input type="hidden" name="Name" value="Value">' tag into the current document. More... | |
_.Library.String | InsertHiddenFields (_.Library.String url, _.Library.String query) |
Return the string containing the hidden form tags. More... | |
_.Library.Boolean | IsPrivate () |
Returns 1 if this page is in fact a private page (see <parameter>PRIVATE</parameter>). | |
_.Library.String | Link (_.Library.String link, _.Library.String query, _.Library.Boolean addQ) |
Tranforms the link specified by link into a URL and returns it as a string. More... | |
_.Library.Status | OnHTTPHeader (_.Library.Boolean OutputBody) |
Event handler for PAGE event: this is invoked in order to More... | |
_.Library.Status | OnPage () |
Event handler for PAGE event: this is invoked in order to More... | |
OnPageError (_.Library.Status sc) | |
Event handler for any error that occurs on the page. More... | |
OnPostHTTP () | |
Event handler for POSTPAGE event: this is invoked after the data. More... | |
_.Library.Status | OnPostHyperEvent (_.Library.String class, _.Library.String method) |
Event handler which is invoked after a hyperevent method is called on this page. | |
_.Library.Boolean | OnPreHTTP () |
Event handler for PreHTTP event: this is invoked before. More... | |
_.Library.Status | OnPreHyperEvent (_.Library.String class, _.Library.String method) |
Event handler which is invoked before a hyperevent method is called on this page. More... | |
_.Library.Status | Page (_.Library.Boolean skipheader) |
Process a request to serve a CSPPage. More... | |
_.Library.String | QuoteJS (in) |
This method converts input string into quoted JavaScript literal. | |
_.Library.String | RewriteURL (_.Library.String url) |
This method will rewrite a URL to use #url()# if needed. | |
ShowError (_.Library.Status sc) | |
Display a <class>Status</class> error code to the CSP Page. | |
StartTimer (_.Library.String name) | |
Used to get performance information on your CSP pages. More... | |
StopTimer (_.Library.String name) | |
Used to time performance information on your CSP pages. More... | |
ThrowError (_.Library.Status sc) | |
Passed a <class>Status</class> code this goes to the error page passing this status code. | |
_.Library.String | UnescapeHTML (in) |
This method converts Escaped HTML text into normal HTML text. | |
_.Library.String | UnescapeURL (_.Library.String in, _.Library.String charset) |
This method converts the in Escaped URL string back to its original form. More... | |
Public Attributes | |
Attached | |
This holds the attached flag. More... | |
BreakPoints | |
Breakpoints. More... | |
CSPId | |
SessionId if attached to a CSP process. More... | |
Command | |
This holds the current command. More... | |
ContinuationCmdIssued | |
This holds the Continuation command issued flag. More... | |
Debug | |
This holds the debugger instance. More... | |
DebugTarget | |
This holds the debug_target (passsed to us by set_feature) More... | |
DeviceList | |
This holds the device list for $System.Socket.Select. More... | |
Features | |
This holds the values of the features set by the IDE. More... | |
FirstRunCommandSeen | |
This holds the first run command flag. More... | |
LastContinuationCmd | |
This holds the last 'continuation' command issued. More... | |
NextState | |
This holds the next state to switch to. More... | |
StackLevelMappings | |
This holds the mappings from server stack level to IDE stack level. More... | |
StartedAttach | |
This says we started via Attach instead of Launch. More... | |
TargetOrPID | |
This holds the target OR PID. More... | |
Trace | |
This holds the TRACE flag. More... | |
TraceNode | |
This holds the TRACE global node for this session. More... | |
TransactionId | |
This holds the current transaction identifier. More... | |
WebSocketDevice | |
This holds the websocket device. More... | |
![]() | |
AtEnd | |
The AtEnd property is set to true (1) when, during a read,. More... | |
BinaryData | |
This property determines whether the data streams transmitted between the client and server should be treated as binary. More... | |
GWClientAddress | |
The address through which a WebSocket operating asynchronously (<property>SharedConnection=1</property>) can communicate with the hosting CSP Gateway. More... | |
NoDataFraming | |
This property determines whether formal data framing should occur between the Web Gateway and InterSystems IRIS. More... | |
SessionEndOnClose | |
This property determines whether WebSocket closure forces the associated CSP session to end. More... | |
SessionId | |
The CSP Session ID from which this WebSocket was created. More... | |
SharedConnection | |
This property determines whether the communication between the client and WebSocket server should be over a dedicated Gateway. More... | |
WebSocketID | |
The unique identity of this WebSocket. More... | |
Static Public Attributes | |
CLASS = None | |
This is the CLASS context for variable display in the IDE. | |
DOMAIN = None | |
Parameter for Localization. | |
DefaultMaxDepth = None | |
The default value to use for the "max_depth" feature if it wasn't set by the IDE. | |
PRIVATE = None | |
This is the PRIVATE context for variable display in the IDE. | |
PUBLIC = None | |
This is the PUBLIC context for variable display in the IDE. | |
SECURITYRESOURCE = None | |
Require development resource. | |
![]() | |
NOCHARSETCONVERT = None | |
The <CLASS>CSP.WebSocket</CLASS> object serves as an event handler for communication between client and server using the WebSocket protocol (RFC 6455). More... | |
![]() | |
CAPTION = None | |
Optional name used by the Form Wizard for a class when generating forms. More... | |
JAVATYPE = None | |
The Java type to be used when exported. | |
PROPERTYVALIDATION = None | |
This parameter controls the default validation behavior for the object. More... | |
![]() | |
CHARSET = None | |
The <CLASS>CSP.Page</CLASS> object serves as an event handler for CSP requests. More... | |
CONTENTTYPE = None | |
Specifies the default content type for the page. More... | |
CONVERTINPUTSTREAM = None | |
Specifies if input request.Content or request.MimeData values are converted from their. More... | |
CSPFILE = None | |
If this page was compiled from a .csp file, then this parameter contains the. More... | |
CSPSTRICT = None | |
The CSPSTRICT parameter is set to 1, if the DOCTYPE indicates that this. More... | |
CSPURL = None | |
This parameter is used to make sure that if multiple. More... | |
CSPXHTML = None | |
The CSPXHTML parameter is set to 1, if the DOCTYPE indicates that this. More... | |
DOMAIN = None | |
The default domain for csp:text, span and div tags. More... | |
ENCODED = None | |
Controls how the query parameters for this page are passed, it can. More... | |
ERRORPAGE = None | |
Specify a custom error page to call if there are any problems with generating this page. More... | |
EXPIRES = None | |
Specified the default value for the response.Expires. More... | |
NOCHARSETCONVERT = None | |
Specifies if we wish to turn off charset conversion for this page. More... | |
PAGETIMING = None | |
If this parameter is true then we automatically record timing statistics of how long it takes to. More... | |
PRIVATE = None | |
Controls the access to the page, it can be set to one of the following: More... | |
SECURITYRESOURCE = None | |
This is a comma-delimited list of system Resources and associated. More... | |
TIMINGSLOTS = None | |
Used by the timing to decide how many slots a day should be divided up into. More... | |
UseSession = None | |
This parameter controls the CSP session support. More... | |
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
_.Library.Status CreatePropertyResponse | ( | _.Library.String | pVarName, |
_.Library.String | pVarValue, | ||
_.Library.String | pXML, | ||
_.Library.Boolean | pGetChildren, | ||
_.Library.Integer | pCurrentDepth | ||
) |
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
|
static |
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
_.Library.Status MapCommandToHandler | ( | _.Library.String | pCmdString | ) |
Map the command to the associated handler (assumes valid command)
Some commands are handled inline
_.Library.Status OnPreServer | ( | ) |
Event handler for the PreServer event: this is invoked before.
starting the WebSockets Server. Changes to the <property>SharedConnection</property> flag must be made here.
Reimplemented from WebSocket.
_.Library.Status ParseCommand | ( | _.Library.String | pCmdString, |
pParsed | |||
) |
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"
_.Library.Status breakpoint_set | ( | ) |
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"
|
static |
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.
_.Library.Status watchpoint_set | ( | ) |
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==
Attached |
This holds the attached flag.
BreakPoints |
Breakpoints.
CSPId |
SessionId if attached to a CSP process.
Command |
This holds the current command.
ContinuationCmdIssued |
This holds the Continuation command issued flag.
Debug |
This holds the debugger instance.
DebugTarget |
This holds the debug_target (passsed to us by set_feature)
DeviceList |
This holds the device list for $System.Socket.Select.
Features |
This holds the values of the features set by the IDE.
FirstRunCommandSeen |
This holds the first run command flag.
LastContinuationCmd |
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.
NextState |
This holds the next state to switch to.
StackLevelMappings |
This holds the mappings from server stack level to IDE stack level.
StartedAttach |
This says we started via Attach instead of Launch.
TargetOrPID |
This holds the target OR PID.
Trace |
This holds the TRACE flag.
TraceNode |
This holds the TRACE global node for this session.
TransactionId |
This holds the current transaction identifier.
WebSocketDevice |
This holds the websocket device.