Reference documentation and code samples for the Stackdriver Debugger Client class Breakpoint.
This plain PHP class represents a debugger breakpoint resource.
Example:
use Google\Cloud\Debugger\Breakpoint;
$breakpoint = new Breakpoint([
'id' => 'breakpoint-id',
'action' => Breakpoint::ACTION_CAPTURE,
'location' => [
'path' => '/path/to/file.php',
'line' => 10
]
]);
Namespace
Google \ Cloud \ DebuggerMethods
__construct
Instantiate a Breakpoint from its JSON representation
Parameters | |
---|---|
Name | Description |
data |
array
Breakpoint data. |
↳ id |
string
Breakpoint identifier, unique in the scope of the debuggee. |
↳ action |
string
Action that the agent should perform when the code at the breakpoint location is hit. |
↳ location |
array
Breakpoint source location in JSON form |
↳ condition |
string
Condition that triggers the breakpoint. The condition is a compound boolean expression composed using expressions in a programming language at the source location |
↳ expressions |
string[]
List of read-only expressions to evaluate at the breakpoint location. The expressions are composed using expressions in the programming language at the source location. If the breakpoint action is LOG, the evaluated expressions are included in log statements. |
↳ logMessageFormat |
string
Only relevant when action is LOG. Defines the message to log when the breakpoint hits. The message may include parameter placeholders $0, $1, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in logMessageFormat are not logged. |
↳ logLevel |
string
Indicates the severity of the log. Only relevant when action is LOG. |
↳ isFinalState |
bool
When true, indicates that this is a final result and the breakpoint state will not change from here on. |
↳ createTime |
string
Time this breakpoint was created by the server in seconds resolution. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". |
↳ finalTime |
string
Time this breakpoint was finalized by the server in seconds resolution. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds. Example: "2014-10-02T15:01:23.045123456Z". |
↳ userEmail |
string
E-mail address of the user that created this breakpoint |
↳ status |
array
Breakpoint status in JSON form. The status includes an error flag and a human readable message. This field is usually unset. The message can be either informational or an error message. Regardless, clients should always display the text message back to the user. |
↳ stackFrames |
array
The stack at breakpoint time. Each stackframe is in JSON form. |
↳ evaluatedExpressions |
array
Values of evaluated expressions at breakpoint time in JSON form. The evaluated expressions appear in exactly the same order they are listed in the expressions field. The name field holds the original expression text, the value or members field holds the result of the evaluated expression. If the expression cannot be evaluated, the status inside the Variable will indicate an error and contain the error text. |
↳ variableTable |
array
The variableTable exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the variableTable itself. For example, the same this object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. This is an array of Variables in JSON form. |
↳ labels |
array
A set of custom breakpoint properties, populated by the agent, to be displayed to the user. This is an associative array of key value pairs. |
id
Return the breakpoint id.
Example:
echo $breakpoint->id();
Returns | |
---|---|
Type | Description |
string |
action
Return the type of breakpoint.
Example:
echo $breakpoint->action();
Returns | |
---|---|
Type | Description |
string |
location
Return the source location for this breakpoint.
Example:
$location = $breakpoint->location();
Returns | |
---|---|
Type | Description |
SourceLocation |
condition
Return the condition for this breakpoint.
Example:
echo $breakpoint->condition();
Returns | |
---|---|
Type | Description |
string |
logLevel
Returns the log level for this breakpoint.
Example:
echo $breakpoint->logLevel();
Returns | |
---|---|
Type | Description |
string |
logMessageFormat
Return the log message format for this breakpoint.
Example:
echo $breakpoint->logMessageFormat();
Returns | |
---|---|
Type | Description |
string |
expressions
Return the expressions to evaluate for this breakpoint.
Example:
$expressions = $breakpoint->expressions();
Returns | |
---|---|
Type | Description |
string[] |
stackFrames
Return the list of collected stack frames
Example:
$stackFrames = $breakpoint->stackFrames();
Returns | |
---|---|
Type | Description |
array<StackFrame> |
status
Return the status for this breakpoint
Returns | |
---|---|
Type | Description |
StatusMessage|null |
variableTable
Returns the VariableTable
Example:
$variableTable = $breakpoint->variableTable();
Returns | |
---|---|
Type | Description |
VariableTable |
evaluate
Evaluate this breakpoint with the provided evaluated expressions and captured stackframe data.
Parameters | |
---|---|
Name | Description |
evaluatedExpressions |
array
Key is the expression executed. Value is the execution result. |
stackFrames |
array
Array of stackframe data. |
options |
array
Configuration options. |
↳ maxMemberDepth |
int
Maximum depth of member variables to capture. Defaults to 5. |
↳ maxPayloadSize |
int
Maximum amount of space of captured data. Defaults to 32768. |
↳ maxMembers |
int
Maximum number of member variables captured per variable. Defaults to 1000. |
↳ maxValueLength |
int
Maximum length of the string representing the captured variable. Defaults to 500. |
info
Return a serializable version of this object
Returns | |
---|---|
Type | Description |
array |
finalize
Mark this breakpoint as final state and record the current timestamp.
Example:
$breakpoint->finalize();
addStackFrames
Add collected data to this breakpoint.
Example:
$breakpoint->addStackFrames([
[
'filename' => '/path/to/file.php',
'line' => 10
]
]);
$stackFrames = $breakpoint->stackFrames();
Parameter | |
---|---|
Name | Description |
stackFrames |
array
Array of stackframe data. |
addStackFrame
Add single stackframe of data to this breakpoint.
Example:
$breakpoint->addStackFrame([
'filename' => '/path/to/file.php',
'line' => 10
]);
$stackFrames = $breakpoint->stackFrames();
Parameters | |
---|---|
Name | Description |
stackFrameData |
array
Stackframe information. |
↳ function |
string
The name of the function executed. |
↳ filename |
string
The name of the file executed. |
↳ line |
int
The line number of the file executed. |
↳ locals |
array
Captured local variables |
addEvaluatedExpressions
Add evaluated expression results to this breakpoint.
Example:
$breakpoint->addEvaluatedExpressions([
'2 + 3' => '5',
'$foo' => 'variable value'
]);
Parameter | |
---|---|
Name | Description |
expressions |
array
Key is the expression executed. Value is the execution result. |
validate
Validate that this breakpoint can be executed. If not valid, the status field will be populated with the corresponding error message. This validation does not guarantee that the breakpoint will be reachable.
The primary use case is to reject clearly invalid breakpoints and return a message to the developer via the Debugger console.
Example:
$valid = $breakpoint->validate();
Returns | |
---|---|
Type | Description |
bool |
resolveLocation
Attempts to resolve the real (full) path to the specified source location. Returns true if a location was resolved.
Example:
$found = $breakpoint->resolveLocation();
Parameter | |
---|---|
Name | Description |
resolver |
SourceLocationResolver
[optional] Defaults to a resolver that uses the current include path. |
Returns | |
---|---|
Type | Description |
bool |
Constants
ACTION_CAPTURE
Value: \Google\Cloud\Debugger\V2\Breakpoint\Action::CAPTURE
ACTION_LOG
Value: \Google\Cloud\Debugger\V2\Breakpoint\Action::LOG
LOG_LEVEL_INFO
Value: \Google\Cloud\Debugger\V2\Breakpoint\LogLevel::INFO
LOG_LEVEL_WARNING
Value: \Google\Cloud\Debugger\V2\Breakpoint\LogLevel::WARNING
LOG_LEVEL_ERROR
Value: \Google\Cloud\Debugger\V2\Breakpoint\LogLevel::ERROR