This class is used internally by InterSystems IRIS. You should not make direct use of it within your applications. There is no guarantee made about either the behavior or future operation of this class.
Copy link to this section Properties
Copy link to this section
property Breakpoints as %String ;
Current breakpoint information for target process
Property methods: BreakpointsDisplayToLogical(), BreakpointsGet(), BreakpointsIsValid(), BreakpointsLogicalToDisplay(), BreakpointsLogicalToOdbc(), BreakpointsNormalize(), BreakpointsSet()
Copy link to this section
property CSPId as %String ;
SessionId if attached to CSP process
Property methods: CSPIdDisplayToLogical(), CSPIdGet(), CSPIdIsValid(), CSPIdLogicalToDisplay(), CSPIdLogicalToOdbc(), CSPIdNormalize(), CSPIdSet()
System Debugger object
Property methods: DebugGet(), DebugGetSwizzled(), DebugIsValid(), DebugNewObject(), DebugSet()
Copy link to this section
property IO as %Boolean ;
I/O redirection flag
Property methods: IODisplayToLogical(), IOGet(), IOIsValid(), IOLogicalToDisplay(), IONormalize(), IOSet()
Copy link to this section
property LastError as %Integer ;
Last error
Property methods: LastErrorDisplayToLogical(), LastErrorGet(), LastErrorIsValid(), LastErrorLogicalToDisplay(), LastErrorNormalize(), LastErrorSet()
Copy link to this section
property Project as Project ;
Project
Property methods: ProjectGet(), ProjectGetObject(), ProjectGetObjectId(), ProjectGetSwizzled(), ProjectIsValid(), ProjectNewObject(), ProjectSet(), ProjectSetObject(), ProjectSetObjectId(), ProjectUnSwizzle()
Copy link to this section
property Watchpoints as %String ;
Current watchpoint information for target process
Property methods: WatchpointsDisplayToLogical(), WatchpointsGet(), WatchpointsIsValid(), WatchpointsLogicalToDisplay(), WatchpointsLogicalToOdbc(), WatchpointsNormalize(), WatchpointsSet()
Copy link to this section
property trace as %Boolean [ InitialExpression = 0 ];
Property methods: traceDisplayToLogical(), traceGet(), traceIsValid(), traceLogicalToDisplay(), traceNormalize(), traceSet()
Copy link to this section Methods
Attach to another process having process id of pid.
Fails if already attached (use Unattach() first),or
if pid is invalid.
On successful completion, process is attached and a break issued.
The process will be in break mode upon completion of its current operation.
Attach to a CSP process, first you must call the
GetCSPAttachID()
to obtain the ID to pass to this method.
Copy link to this section
method Break() as %Boolean
Send a BREAK to the target process.
A successful return indicates the target will be in break mode
on completion of the current command.
Issue IsStopped to determine if target is in break mode.
Copy link to this section
method ClearBreakpoints() as %Boolean
Perform a debug command.
Copy link to this section
method Eval(expr As %String = "") as %String
Evaluate and return the value of expression
expr within the target process.
Copy link to this section
method GetCSPAttachID() as %Integer
To attach to a CSP process, first call this method which will return you a unique
ID number. Then display the CSP page but add an extra parameter of 'CSPDEBUG=<ID>'
for example 'http://localhost/csp/samples/loop.csp?CSPDEBUG=123456'. Then call the
AttachToCSP() method which will attach to the process that is
running this CSP page.
Gather information about a process
Return the current location of the debugger. This includes both the command and the argument
positions.
Copy link to this section
method GetSource() as %String
Return the routine source at the current location
Copy link to this section
method GetStack() as %String
Gets the simple stack information sent from the target.
Copy link to this section
method GetStackId() as %String
Requests stack variable info.
Gets the value of a variable.
Copy link to this section
method Go() as %Boolean
Continue the current process
Continue the current process
Given a document
name ,
label and
line offset it returns the name and line corresponding to this in the INT code
returntype values are
0 - Ok
1 - Line given is not mapped so returning the next mapped line as breakpoint instead
2 - No mapping found at all, nothing returned
For example if you wish to find out which line is generated from class 'User.Test' in method 'MyMethod' at offset '+3' you
call:
Set sc=##class(%Studio.Debugger).INTLine("User.Test.CLS","MyMethod",3,.intname,.intline,.returntype)
type is one of 'CLS' or 'MAC' currently.
Copy link to this section
method Interrupt() as %Boolean
Interrupt the target process. The current command will be interrupted.
Execution will proceed with the next command.
Copy link to this section
method IsStopped() as %Integer
Returns 1 if the target is stopped in break mode.
0 indicates target is still running.
2 indicates target has exited debugger or fatal error.
Copy link to this section
method Line() as %Boolean
Copy link to this section
method LineIn() as %Boolean
Copy link to this section
method LineOut() as %Boolean
Return the list of source files that the routine and line map to.
The format of each source file data is:
routineName.routineType,label,line,namespace
Copy link to this section
classmethod MappedFromPos(routineName As %String , beginCmdLine As %Integer , beginCmdOffset As %Integer , endCmdLine As %Integer , endCmdOffset As %Integer , beginArgLine As %Integer , beginArgOffset As %Integer , endArgLine As %Integer , endArgOffset As %Integer , namespace As %String , ByRef mapping As %String , ByRef flag As %String ) as %Status
Return the list of source files that the position passed in maps to.
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
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
Copy link to this section
method Pid() as %String
return process id of attached target
Copy link to this section
classmethod ProcessListClose(QHandle As %Binary ) as %Status
Copy link to this section
classmethod ProcessListExecute(ByRef QHandle As %Binary ) as %Status
Copy link to this section
classmethod ProcessListFetch(ByRef QHandle As %Binary , ByRef Row As %List , ByRef AtEnd As %Integer = 0) as %Status
Copy link to this section
method RemoveWatchpoint(variable As %String ) as %Boolean
Check if routine is mapped to current namespace
Returns 1 if successful, 0 if not mapped to current
Copy link to this section
method SetBreakpointsFromProject(project As Project ) as %Boolean
Set all break points defined in project.
Return 0 if project=NULL, else
return status code from SetBreakpoint
Sets a variable to a value.
Given INT routine name and line number and offset in this line return an array of source lines
that map to this INT line. The format of this return array is:
map(type,StartEnd)=$listbuild(sourceName,sourceLabel,sourceLine,Offset,Namespace)
Where StartEnd is 1 for the start of the map and 2 for the end, sourceName is the name of the
source file, sourceLabel is the method/label name, sourceLine is the number of lines from
this label to the location, Offset is the offset on the line, Namespace is the location
of the source file.
Job off a routine that executes tag .
If breakpoints are specified, the target will halt at the first breakpoint.
Copy link to this section
method Step() as %Boolean
Copy link to this section
method StepIn() as %Boolean
Copy link to this section
method StepOut() as %Boolean
Unattach from the current process, if any.
Returns $$$OK if successful, $$$ERROR if nothing to detach from
Copy link to this section
method ViewAsBinary(variableName As %String ) as %String
Copy link to this section
classmethod WatchListClose(ByRef qHandle As %Binary ) as %Status
Copy link to this section
classmethod WatchListFetch(ByRef qHandle As %Binary , ByRef Row As %List , ByRef AtEnd As %Integer = 0) as %Status
Copy link to this section
classmethod WatchListOrefClose(ByRef qHandle As %Binary ) as %Status
Copy link to this section
classmethod WatchListOrefFetch(ByRef qHandle As %Binary , ByRef Row As %List , ByRef AtEnd As %Integer = 0) as %Status
Write to target process