Struct google_api_proto::google::devtools::clouddebugger::v2::Breakpoint
source · pub struct Breakpoint {Show 16 fields
pub id: String,
pub action: i32,
pub location: Option<SourceLocation>,
pub condition: String,
pub expressions: Vec<String>,
pub log_message_format: String,
pub log_level: i32,
pub is_final_state: bool,
pub create_time: Option<Timestamp>,
pub final_time: Option<Timestamp>,
pub user_email: String,
pub status: Option<StatusMessage>,
pub stack_frames: Vec<StackFrame>,
pub evaluated_expressions: Vec<Variable>,
pub variable_table: Vec<Variable>,
pub labels: BTreeMap<String, String>,
}
Expand description
Represents the breakpoint specification, status and results.
Fields§
§id: String
Breakpoint identifier, unique in the scope of the debuggee.
action: i32
Action that the agent should perform when the code at the breakpoint location is hit.
location: Option<SourceLocation>
Breakpoint source location.
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: Vec<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.
log_message_format: 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
log_message_format
are not logged.
Example: Message received, id = $0, count = $1
with
expressions
= \[ message.id, message.count \]
.
log_level: i32
Indicates the severity of the log. Only relevant when action is LOG
.
is_final_state: bool
When true, indicates that this is a final result and the breakpoint state will not change from here on.
create_time: Option<Timestamp>
Time this breakpoint was created by the server in seconds resolution.
final_time: Option<Timestamp>
Time this breakpoint was finalized as seen by the server in seconds resolution.
user_email: String
E-mail address of the user that created this breakpoint
status: Option<StatusMessage>
Breakpoint status.
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.
Error status indicates complete failure of the breakpoint.
Example (non-final state): Still loading symbols...
Examples (final state):
Invalid line number
referring to locationField f not found in class C
referring to condition
stack_frames: Vec<StackFrame>
The stack at breakpoint time, where stack_frames[0] represents the most recently entered function.
evaluated_expressions: Vec<Variable>
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.
variable_table: Vec<Variable>
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.
labels: BTreeMap<String, String>
A set of custom breakpoint properties, populated by the agent, to be displayed to the user.
Implementations§
source§impl Breakpoint
impl Breakpoint
sourcepub fn action(&self) -> Action
pub fn action(&self) -> Action
Returns the enum value of action
, or the default if the field is set to an invalid enum value.
sourcepub fn set_action(&mut self, value: Action)
pub fn set_action(&mut self, value: Action)
Sets action
to the provided enum value.
sourcepub fn log_level(&self) -> LogLevel
pub fn log_level(&self) -> LogLevel
Returns the enum value of log_level
, or the default if the field is set to an invalid enum value.
sourcepub fn set_log_level(&mut self, value: LogLevel)
pub fn set_log_level(&mut self, value: LogLevel)
Sets log_level
to the provided enum value.
Trait Implementations§
source§impl Clone for Breakpoint
impl Clone for Breakpoint
source§fn clone(&self) -> Breakpoint
fn clone(&self) -> Breakpoint
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Breakpoint
impl Debug for Breakpoint
source§impl Default for Breakpoint
impl Default for Breakpoint
source§impl Message for Breakpoint
impl Message for Breakpoint
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Breakpoint
impl PartialEq for Breakpoint
source§fn eq(&self, other: &Breakpoint) -> bool
fn eq(&self, other: &Breakpoint) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for Breakpoint
Auto Trait Implementations§
impl Freeze for Breakpoint
impl RefUnwindSafe for Breakpoint
impl Send for Breakpoint
impl Sync for Breakpoint
impl Unpin for Breakpoint
impl UnwindSafe for Breakpoint
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request