class Google::Apis::ClouddebuggerV2::Breakpoint


## Breakpoint (the resource) Represents the breakpoint specification, status and results.

Attributes

action[RW]

Action that the agent should perform when the code at the breakpoint location is hit. Corresponds to the JSON property `action` @return [String]

canary_expire_time[RW]

The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value is meaningless when the breakpoint is not in CANARY_ACTIVE state. Corresponds to the JSON property `canaryExpireTime` @return [String]

condition[RW]

Condition that triggers the breakpoint. The condition is a compound boolean expression composed using expressions in a programming language at the source location. Corresponds to the JSON property `condition` @return [String]

create_time[RW]

Time this breakpoint was created by the server in seconds resolution. Corresponds to the JSON property `createTime` @return [String]

evaluated_expressions[RW]

Values of evaluated expressions at breakpoint time. 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. Corresponds to the JSON property `evaluatedExpressions` @return [Array<Google::Apis::ClouddebuggerV2::Variable>]

expressions[RW]

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. Corresponds to the JSON property `expressions` @return [Array<String>]

final_time[RW]

Time this breakpoint was finalized as seen by the server in seconds resolution. Corresponds to the JSON property `finalTime` @return [String]

id[RW]

Breakpoint identifier, unique in the scope of the debuggee. Corresponds to the JSON property `id` @return [String]

is_final_state[RW]

When true, indicates that this is a final result and the breakpoint state will not change from here on. Corresponds to the JSON property `isFinalState` @return [Boolean]

is_final_state?[RW]

When true, indicates that this is a final result and the breakpoint state will not change from here on. Corresponds to the JSON property `isFinalState` @return [Boolean]

labels[RW]

A set of custom breakpoint properties, populated by the agent, to be displayed to the user. Corresponds to the JSON property `labels` @return [Hash<String,String>]

location[RW]

Represents a location in the source code. Corresponds to the JSON property `location` @return [Google::Apis::ClouddebuggerV2::SourceLocation]

log_level[RW]

Indicates the severity of the log. Only relevant when action is `LOG`. Corresponds to the JSON property `logLevel` @return [String]

log_message_format[RW]

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 `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions`

`[ message.id, message.count ]`.

Corresponds to the JSON property `logMessageFormat` @return [String]

stack_frames[RW]

The stack at breakpoint time, where stack_frames represents the most recently entered function. Corresponds to the JSON property `stackFrames` @return [Array<Google::Apis::ClouddebuggerV2::StackFrame>]

state[RW]

The current state of the breakpoint. Corresponds to the JSON property `state` @return [String]

status[RW]

Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`. Corresponds to the JSON property `status` @return [Google::Apis::ClouddebuggerV2::StatusMessage]

user_email[RW]

E-mail address of the user that created this breakpoint Corresponds to the JSON property `userEmail` @return [String]

variable_table[RW]

The `variable_table` 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 `variable_table` 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. The variable ` var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable. Corresponds to the JSON property `variableTable` @return [Array<Google::Apis::ClouddebuggerV2::Variable>]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/clouddebugger_v2/classes.rb, line 179
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/clouddebugger_v2/classes.rb, line 184
def update!(**args)
  @action = args[:action] if args.key?(:action)
  @canary_expire_time = args[:canary_expire_time] if args.key?(:canary_expire_time)
  @condition = args[:condition] if args.key?(:condition)
  @create_time = args[:create_time] if args.key?(:create_time)
  @evaluated_expressions = args[:evaluated_expressions] if args.key?(:evaluated_expressions)
  @expressions = args[:expressions] if args.key?(:expressions)
  @final_time = args[:final_time] if args.key?(:final_time)
  @id = args[:id] if args.key?(:id)
  @is_final_state = args[:is_final_state] if args.key?(:is_final_state)
  @labels = args[:labels] if args.key?(:labels)
  @location = args[:location] if args.key?(:location)
  @log_level = args[:log_level] if args.key?(:log_level)
  @log_message_format = args[:log_message_format] if args.key?(:log_message_format)
  @stack_frames = args[:stack_frames] if args.key?(:stack_frames)
  @state = args[:state] if args.key?(:state)
  @status = args[:status] if args.key?(:status)
  @user_email = args[:user_email] if args.key?(:user_email)
  @variable_table = args[:variable_table] if args.key?(:variable_table)
end