docs: docs update (#911)
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-api-python-client/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea
- [ ] Ensure the tests and linter pass
- [ ] Code coverage does not decrease (if any source code was changed)
- [ ] Appropriate docs were updated (if necessary)
Fixes #<issue_number_goes_here> 🦕
diff --git a/docs/dyn/clouddebugger_v2.debugger.debuggees.breakpoints.html b/docs/dyn/clouddebugger_v2.debugger.debuggees.breakpoints.html
index 7b02115..66f4be0 100644
--- a/docs/dyn/clouddebugger_v2.debugger.debuggees.breakpoints.html
+++ b/docs/dyn/clouddebugger_v2.debugger.debuggees.breakpoints.html
@@ -81,10 +81,10 @@
<code><a href="#get">get(debuggeeId, breakpointId, clientVersion=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets breakpoint information.</p>
<p class="toc_element">
- <code><a href="#list">list(debuggeeId, stripResults=None, includeInactive=None, x__xgafv=None, clientVersion=None, includeAllUsers=None, action_value=None, waitToken=None)</a></code></p>
+ <code><a href="#list">list(debuggeeId, waitToken=None, clientVersion=None, action_value=None, includeInactive=None, includeAllUsers=None, stripResults=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists all breakpoints for the debuggee.</p>
<p class="toc_element">
- <code><a href="#set">set(debuggeeId, body=None, clientVersion=None, canaryOption=None, x__xgafv=None)</a></code></p>
+ <code><a href="#set">set(debuggeeId, body=None, canaryOption=None, clientVersion=None, x__xgafv=None)</a></code></p>
<p class="firstline">Sets the breakpoint to the debuggee.</p>
<h3>Method Details</h3>
<div class="method">
@@ -134,12 +134,14 @@
An object of the form:
{ # Response for getting breakpoint information.
- "breakpoint": { # ------------------------------------------------------------------------------ # Complete breakpoint state.
+ "breakpoint": { # ------------------------------------------------------------------------------ # Complete breakpoint state.
# The fields `id` and `location` are guaranteed to be set.
# ## Breakpoint (the resource)
#
# Represents the breakpoint specification, status and results.
- "status": { # Represents a contextual status message. # Breakpoint status.
+ "canaryExpireTime": "A String", # The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value
+ # is meaningless when the breakpoint is not in CANARY_ACTIVE state.
+ "status": { # Represents a contextual status message. # Breakpoint status.
#
# The status includes an error flag and a human readable message.
# This field is usually unset. The message can be either
@@ -158,24 +160,39 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "variableTable": [ # The `variable_table` exists to aid with computation, memory and network
+ "state": "A String", # The current state of the breakpoint.
+ "userEmail": "A String", # E-mail address of the user that created this breakpoint
+ "action": "A String", # Action that the agent should perform when the code at the
+ # breakpoint location is hit.
+ "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
+ "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
+ "location": { # Represents a location in the source code. # Breakpoint source location.
+ "path": "A String", # Path to the source file within the source context of the target binary.
+ "column": 42, # Column within a line. The first column in a line as the value `1`.
+ # Agents that do not support setting breakpoints on specific columns ignore
+ # this field.
+ "line": 42, # Line inside the file. The first line in the file has the value `1`.
+ },
+ "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
+ # resolution.
+ "variableTable": [ # 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.
@@ -194,7 +211,7 @@
#
# int x = 5
#
- # { name: "x", value: "5", type: "int" } // Captured variable
+ # { name: "x", value: "5", type: "int" } // Captured variable
#
# 2) A compound object:
#
@@ -205,10 +222,10 @@
# T x = { 3, 7 };
#
# { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 3) A pointer where the pointee was captured:
@@ -217,11 +234,11 @@
# T* p = &x;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 4) A pointer where the pointee was not captured:
@@ -229,10 +246,10 @@
# T* p = new T;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
# }
#
# The status should describe the reason for the missing value,
@@ -245,10 +262,10 @@
# int* p = new int(7);
#
# { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
#
# 6) An unnamed pointer where the pointee was not captured:
#
@@ -256,15 +273,15 @@
# int** pp = &p;
#
# { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
# members {
- # value: "0x00400400",
- # type: "int*"
+ # value: "0x00400400",
+ # type: "int*"
# status {
# is_error: true,
- # description: { format: "unavailable" } }
+ # description: { format: "unavailable" } }
# }
# }
# }
@@ -282,13 +299,13 @@
# T* p = &x;
# T& r = x;
#
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
#
# { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# Note that the pointer address is stored with the referencing variable
@@ -296,7 +313,10 @@
# to be shared between pointers and references.
#
# The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
# unset. A status of a single variable only applies to that variable or
# expression. The rest of breakpoint data still remains valid. Variables
# might be reported in error state even when breakpoint is not in final
@@ -319,39 +339,36 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
# `var_table_index`, `type` goes next to `value`. The interpretation of
# a type is agent specific. It is recommended to include the dynamic type
# rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
},
],
- "userEmail": "A String", # E-mail address of the user that created this breakpoint
- "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when
+ "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
+ "logMessageFormat": "A 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
@@ -359,378 +376,17 @@
#
# Example: `Message received, id = $0, count = $1` with
# `expressions` = `[ message.id, message.count ]`.
- "state": "A String", # The current state of the breakpoint.
- "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
- "labels": { # A set of custom breakpoint properties, populated by the agent, to be
+ "labels": { # A set of custom breakpoint properties, populated by the agent, to be
# displayed to the user.
- "a_key": "A String",
+ "a_key": "A String",
},
- "stackFrames": [ # The stack at breakpoint time, where stack_frames[0] represents the most
- # recently entered function.
- { # Represents a stack frame context.
- "function": "A String", # Demangled function name at the call site.
- "arguments": [ # Set of arguments passed to this function.
- # Note that this might not be populated for all stack frames.
- { # Represents a variable or an argument possibly of a compound object type.
- # Note how the following variables are represented:
- #
- # 1) A simple variable:
- #
- # int x = 5
- #
- # { name: "x", value: "5", type: "int" } // Captured variable
- #
- # 2) A compound object:
- #
- # struct T {
- # int m1;
- # int m2;
- # };
- # T x = { 3, 7 };
- #
- # { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 3) A pointer where the pointee was captured:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 4) A pointer where the pointee was not captured:
- #
- # T* p = new T;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
- # }
- #
- # The status should describe the reason for the missing value,
- # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
- #
- # Note that a null pointer should not have members.
- #
- # 5) An unnamed value:
- #
- # int* p = new int(7);
- #
- # { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
- #
- # 6) An unnamed pointer where the pointee was not captured:
- #
- # int* p = new int(7);
- # int** pp = &p;
- #
- # { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
- # members {
- # value: "0x00400400",
- # type: "int*"
- # status {
- # is_error: true,
- # description: { format: "unavailable" } }
- # }
- # }
- # }
- #
- # To optimize computation, memory and network traffic, variables that
- # repeat in the output multiple times can be stored once in a shared
- # variable table and be referenced using the `var_table_index` field. The
- # variables stored in the shared table are nameless and are essentially
- # a partition of the complete variable. To reconstruct the complete
- # variable, merge the referencing variable with the referenced variable.
- #
- # When using the shared variable table, the following variables:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- # T& r = x;
- #
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
- #
- # { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # Note that the pointer address is stored with the referencing variable
- # and not with the referenced variable. This allows the referenced variable
- # to be shared between pointers and references.
- #
- # The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
- # unset. A status of a single variable only applies to that variable or
- # expression. The rest of breakpoint data still remains valid. Variables
- # might be reported in error state even when breakpoint is not in final
- # state.
- #
- # The message may refer to variable name with `refers_to` set to
- # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
- # In either case variable value and members will be unset.
- #
- # Example of error message applied to name: `Invalid expression syntax`.
- #
- # Example of information message applied to value: `Not captured`.
- #
- # Examples of error message applied to value:
- #
- # * `Malformed string`,
- # * `Field f not found in class C`
- # * `Null pointer dereference`
- # 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
- ],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
- # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
- # character.
- #
- # Examples:
- #
- # * `Failed to load '$0' which helps debug $1 the first time it
- # is loaded. Again, $0 is very important.`
- # * `Please pay $$10 to use $0 instead of $1.`
- },
- },
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
- # `var_table_index`, `type` goes next to `value`. The interpretation of
- # a type is agent specific. It is recommended to include the dynamic type
- # rather than a static type of an object.
- },
- ],
- "locals": [ # Set of local variables at the stack frame location.
- # Note that this might not be populated for all stack frames.
- { # Represents a variable or an argument possibly of a compound object type.
- # Note how the following variables are represented:
- #
- # 1) A simple variable:
- #
- # int x = 5
- #
- # { name: "x", value: "5", type: "int" } // Captured variable
- #
- # 2) A compound object:
- #
- # struct T {
- # int m1;
- # int m2;
- # };
- # T x = { 3, 7 };
- #
- # { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 3) A pointer where the pointee was captured:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 4) A pointer where the pointee was not captured:
- #
- # T* p = new T;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
- # }
- #
- # The status should describe the reason for the missing value,
- # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
- #
- # Note that a null pointer should not have members.
- #
- # 5) An unnamed value:
- #
- # int* p = new int(7);
- #
- # { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
- #
- # 6) An unnamed pointer where the pointee was not captured:
- #
- # int* p = new int(7);
- # int** pp = &p;
- #
- # { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
- # members {
- # value: "0x00400400",
- # type: "int*"
- # status {
- # is_error: true,
- # description: { format: "unavailable" } }
- # }
- # }
- # }
- #
- # To optimize computation, memory and network traffic, variables that
- # repeat in the output multiple times can be stored once in a shared
- # variable table and be referenced using the `var_table_index` field. The
- # variables stored in the shared table are nameless and are essentially
- # a partition of the complete variable. To reconstruct the complete
- # variable, merge the referencing variable with the referenced variable.
- #
- # When using the shared variable table, the following variables:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- # T& r = x;
- #
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
- #
- # { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # Note that the pointer address is stored with the referencing variable
- # and not with the referenced variable. This allows the referenced variable
- # to be shared between pointers and references.
- #
- # The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
- # unset. A status of a single variable only applies to that variable or
- # expression. The rest of breakpoint data still remains valid. Variables
- # might be reported in error state even when breakpoint is not in final
- # state.
- #
- # The message may refer to variable name with `refers_to` set to
- # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
- # In either case variable value and members will be unset.
- #
- # Example of error message applied to name: `Invalid expression syntax`.
- #
- # Example of information message applied to value: `Not captured`.
- #
- # Examples of error message applied to value:
- #
- # * `Malformed string`,
- # * `Field f not found in class C`
- # * `Null pointer dereference`
- # 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
- ],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
- # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
- # character.
- #
- # Examples:
- #
- # * `Failed to load '$0' which helps debug $1 the first time it
- # is loaded. Again, $0 is very important.`
- # * `Please pay $$10 to use $0 instead of $1.`
- },
- },
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
- # `var_table_index`, `type` goes next to `value`. The interpretation of
- # a type is agent specific. It is recommended to include the dynamic type
- # rather than a static type of an object.
- },
- ],
- "location": { # Represents a location in the source code. # Source location of the call site.
- "column": 42, # Column within a line. The first column in a line as the value `1`.
- # Agents that do not support setting breakpoints on specific columns ignore
- # this field.
- "path": "A String", # Path to the source file within the source context of the target binary.
- "line": 42, # Line inside the file. The first line in the file has the value `1`.
- },
- },
- ],
- "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
- "canaryExpireTime": "A String", # The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value
- # is meaningless when the breakpoint is not in CANARY_ACTIVE state.
- "location": { # Represents a location in the source code. # Breakpoint source location.
- "column": 42, # Column within a line. The first column in a line as the value `1`.
- # Agents that do not support setting breakpoints on specific columns ignore
- # this field.
- "path": "A String", # Path to the source file within the source context of the target binary.
- "line": 42, # Line inside the file. The first line in the file has the value `1`.
- },
- "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
- # resolution.
- "action": "A String", # Action that the agent should perform when the code at the
- # breakpoint location is hit.
- "expressions": [ # List of read-only expressions to evaluate at the breakpoint location.
+ "expressions": [ # 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.
- "A String",
+ "A String",
],
- "isFinalState": True or False, # When true, indicates that this is a final result and the
- # breakpoint state will not change from here on.
- "evaluatedExpressions": [ # Values of evaluated expressions at breakpoint time.
+ "evaluatedExpressions": [ # 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
@@ -744,7 +400,7 @@
#
# int x = 5
#
- # { name: "x", value: "5", type: "int" } // Captured variable
+ # { name: "x", value: "5", type: "int" } // Captured variable
#
# 2) A compound object:
#
@@ -755,10 +411,10 @@
# T x = { 3, 7 };
#
# { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 3) A pointer where the pointee was captured:
@@ -767,11 +423,11 @@
# T* p = &x;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 4) A pointer where the pointee was not captured:
@@ -779,10 +435,10 @@
# T* p = new T;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
# }
#
# The status should describe the reason for the missing value,
@@ -795,10 +451,10 @@
# int* p = new int(7);
#
# { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
#
# 6) An unnamed pointer where the pointee was not captured:
#
@@ -806,15 +462,15 @@
# int** pp = &p;
#
# { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
# members {
- # value: "0x00400400",
- # type: "int*"
+ # value: "0x00400400",
+ # type: "int*"
# status {
# is_error: true,
- # description: { format: "unavailable" } }
+ # description: { format: "unavailable" } }
# }
# }
# }
@@ -832,13 +488,13 @@
# T* p = &x;
# T& r = x;
#
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
#
# { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# Note that the pointer address is stored with the referencing variable
@@ -846,7 +502,10 @@
# to be shared between pointers and references.
#
# The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
# unset. A status of a single variable only applies to that variable or
# expression. The rest of breakpoint data still remains valid. Variables
# might be reported in error state even when breakpoint is not in final
@@ -869,39 +528,380 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
# `var_table_index`, `type` goes next to `value`. The interpretation of
# a type is agent specific. It is recommended to include the dynamic type
# rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
},
],
- "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
- "condition": "A String", # Condition that triggers the breakpoint.
+ "isFinalState": True or False, # When true, indicates that this is a final result and the
+ # breakpoint state will not change from here on.
+ "stackFrames": [ # The stack at breakpoint time, where stack_frames[0] represents the most
+ # recently entered function.
+ { # Represents a stack frame context.
+ "arguments": [ # Set of arguments passed to this function.
+ # Note that this might not be populated for all stack frames.
+ { # Represents a variable or an argument possibly of a compound object type.
+ # Note how the following variables are represented:
+ #
+ # 1) A simple variable:
+ #
+ # int x = 5
+ #
+ # { name: "x", value: "5", type: "int" } // Captured variable
+ #
+ # 2) A compound object:
+ #
+ # struct T {
+ # int m1;
+ # int m2;
+ # };
+ # T x = { 3, 7 };
+ #
+ # { // Captured variable
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 3) A pointer where the pointee was captured:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 4) A pointer where the pointee was not captured:
+ #
+ # T* p = new T;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
+ # }
+ #
+ # The status should describe the reason for the missing value,
+ # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
+ #
+ # Note that a null pointer should not have members.
+ #
+ # 5) An unnamed value:
+ #
+ # int* p = new int(7);
+ #
+ # { // Captured variable
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
+ #
+ # 6) An unnamed pointer where the pointee was not captured:
+ #
+ # int* p = new int(7);
+ # int** pp = &p;
+ #
+ # { // Captured variable
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
+ # members {
+ # value: "0x00400400",
+ # type: "int*"
+ # status {
+ # is_error: true,
+ # description: { format: "unavailable" } }
+ # }
+ # }
+ # }
+ #
+ # To optimize computation, memory and network traffic, variables that
+ # repeat in the output multiple times can be stored once in a shared
+ # variable table and be referenced using the `var_table_index` field. The
+ # variables stored in the shared table are nameless and are essentially
+ # a partition of the complete variable. To reconstruct the complete
+ # variable, merge the referencing variable with the referenced variable.
+ #
+ # When using the shared variable table, the following variables:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ # T& r = x;
+ #
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
+ #
+ # { // Shared variable table entry #3:
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # Note that the pointer address is stored with the referencing variable
+ # and not with the referenced variable. This allows the referenced variable
+ # to be shared between pointers and references.
+ #
+ # The type field is optional. The debugger agent may or may not support it.
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ # unset. A status of a single variable only applies to that variable or
+ # expression. The rest of breakpoint data still remains valid. Variables
+ # might be reported in error state even when breakpoint is not in final
+ # state.
+ #
+ # The message may refer to variable name with `refers_to` set to
+ # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
+ # In either case variable value and members will be unset.
+ #
+ # Example of error message applied to name: `Invalid expression syntax`.
+ #
+ # Example of information message applied to value: `Not captured`.
+ #
+ # Examples of error message applied to value:
+ #
+ # * `Malformed string`,
+ # * `Field f not found in class C`
+ # * `Null pointer dereference`
+ # 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`.
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
+ ],
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
+ # character.
+ #
+ # Examples:
+ #
+ # * `Failed to load '$0' which helps debug $1 the first time it
+ # is loaded. Again, $0 is very important.`
+ # * `Please pay $$10 to use $0 instead of $1.`
+ },
+ "refersTo": "A String", # Reference to which the message applies.
+ },
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ # `var_table_index`, `type` goes next to `value`. The interpretation of
+ # a type is agent specific. It is recommended to include the dynamic type
+ # rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
+ },
+ ],
+ "locals": [ # Set of local variables at the stack frame location.
+ # Note that this might not be populated for all stack frames.
+ { # Represents a variable or an argument possibly of a compound object type.
+ # Note how the following variables are represented:
+ #
+ # 1) A simple variable:
+ #
+ # int x = 5
+ #
+ # { name: "x", value: "5", type: "int" } // Captured variable
+ #
+ # 2) A compound object:
+ #
+ # struct T {
+ # int m1;
+ # int m2;
+ # };
+ # T x = { 3, 7 };
+ #
+ # { // Captured variable
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 3) A pointer where the pointee was captured:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 4) A pointer where the pointee was not captured:
+ #
+ # T* p = new T;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
+ # }
+ #
+ # The status should describe the reason for the missing value,
+ # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
+ #
+ # Note that a null pointer should not have members.
+ #
+ # 5) An unnamed value:
+ #
+ # int* p = new int(7);
+ #
+ # { // Captured variable
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
+ #
+ # 6) An unnamed pointer where the pointee was not captured:
+ #
+ # int* p = new int(7);
+ # int** pp = &p;
+ #
+ # { // Captured variable
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
+ # members {
+ # value: "0x00400400",
+ # type: "int*"
+ # status {
+ # is_error: true,
+ # description: { format: "unavailable" } }
+ # }
+ # }
+ # }
+ #
+ # To optimize computation, memory and network traffic, variables that
+ # repeat in the output multiple times can be stored once in a shared
+ # variable table and be referenced using the `var_table_index` field. The
+ # variables stored in the shared table are nameless and are essentially
+ # a partition of the complete variable. To reconstruct the complete
+ # variable, merge the referencing variable with the referenced variable.
+ #
+ # When using the shared variable table, the following variables:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ # T& r = x;
+ #
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
+ #
+ # { // Shared variable table entry #3:
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # Note that the pointer address is stored with the referencing variable
+ # and not with the referenced variable. This allows the referenced variable
+ # to be shared between pointers and references.
+ #
+ # The type field is optional. The debugger agent may or may not support it.
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ # unset. A status of a single variable only applies to that variable or
+ # expression. The rest of breakpoint data still remains valid. Variables
+ # might be reported in error state even when breakpoint is not in final
+ # state.
+ #
+ # The message may refer to variable name with `refers_to` set to
+ # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
+ # In either case variable value and members will be unset.
+ #
+ # Example of error message applied to name: `Invalid expression syntax`.
+ #
+ # Example of information message applied to value: `Not captured`.
+ #
+ # Examples of error message applied to value:
+ #
+ # * `Malformed string`,
+ # * `Field f not found in class C`
+ # * `Null pointer dereference`
+ # 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`.
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
+ ],
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
+ # character.
+ #
+ # Examples:
+ #
+ # * `Failed to load '$0' which helps debug $1 the first time it
+ # is loaded. Again, $0 is very important.`
+ # * `Please pay $$10 to use $0 instead of $1.`
+ },
+ "refersTo": "A String", # Reference to which the message applies.
+ },
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ # `var_table_index`, `type` goes next to `value`. The interpretation of
+ # a type is agent specific. It is recommended to include the dynamic type
+ # rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
+ },
+ ],
+ "location": { # Represents a location in the source code. # Source location of the call site.
+ "path": "A String", # Path to the source file within the source context of the target binary.
+ "column": 42, # Column within a line. The first column in a line as the value `1`.
+ # Agents that do not support setting breakpoints on specific columns ignore
+ # this field.
+ "line": 42, # Line inside the file. The first line in the file has the value `1`.
+ },
+ "function": "A String", # Demangled function name at the call site.
+ },
+ ],
+ "condition": "A String", # Condition that triggers the breakpoint.
# The condition is a compound boolean expression composed using expressions
# in a programming language at the source location.
},
@@ -909,37 +909,37 @@
</div>
<div class="method">
- <code class="details" id="list">list(debuggeeId, stripResults=None, includeInactive=None, x__xgafv=None, clientVersion=None, includeAllUsers=None, action_value=None, waitToken=None)</code>
+ <code class="details" id="list">list(debuggeeId, waitToken=None, clientVersion=None, action_value=None, includeInactive=None, includeAllUsers=None, stripResults=None, x__xgafv=None)</code>
<pre>Lists all breakpoints for the debuggee.
Args:
debuggeeId: string, Required. ID of the debuggee whose breakpoints to list. (required)
- stripResults: boolean, This field is deprecated. The following fields are always stripped out of
-the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
- includeInactive: boolean, When set to `true`, the response includes active and inactive
-breakpoints. Otherwise, it includes only active breakpoints.
- x__xgafv: string, V1 error format.
- Allowed values
- 1 - v1 error format
- 2 - v2 error format
- clientVersion: string, Required. The client version making the call.
-Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
- includeAllUsers: boolean, When set to `true`, the response includes the list of breakpoints set by
-any user. Otherwise, it includes only breakpoints set by the caller.
- action_value: string, Only breakpoints with the specified action will pass the filter.
waitToken: string, A wait token that, if specified, blocks the call until the breakpoints
list has changed, or a server selected timeout has expired. The value
should be set from the last response. The error code
`google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which
should be called again with the same `wait_token`.
+ clientVersion: string, Required. The client version making the call.
+Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
+ action_value: string, Only breakpoints with the specified action will pass the filter.
+ includeInactive: boolean, When set to `true`, the response includes active and inactive
+breakpoints. Otherwise, it includes only active breakpoints.
+ includeAllUsers: boolean, When set to `true`, the response includes the list of breakpoints set by
+any user. Otherwise, it includes only breakpoints set by the caller.
+ stripResults: boolean, This field is deprecated. The following fields are always stripped out of
+the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
+ x__xgafv: string, V1 error format.
+ Allowed values
+ 1 - v1 error format
+ 2 - v2 error format
Returns:
An object of the form:
{ # Response for listing breakpoints.
- "nextWaitToken": "A String", # A wait token that can be used in the next call to `list` (REST) or
+ "nextWaitToken": "A String", # A wait token that can be used in the next call to `list` (REST) or
# `ListBreakpoints` (RPC) to block until the list of breakpoints has changes.
- "breakpoints": [ # List of breakpoints matching the request.
+ "breakpoints": [ # List of breakpoints matching the request.
# The fields `id` and `location` are guaranteed to be set on each breakpoint.
# The fields: `stack_frames`, `evaluated_expressions` and `variable_table`
# are cleared on each breakpoint regardless of its status.
@@ -947,7 +947,9 @@
# ## Breakpoint (the resource)
#
# Represents the breakpoint specification, status and results.
- "status": { # Represents a contextual status message. # Breakpoint status.
+ "canaryExpireTime": "A String", # The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value
+ # is meaningless when the breakpoint is not in CANARY_ACTIVE state.
+ "status": { # Represents a contextual status message. # Breakpoint status.
#
# The status includes an error flag and a human readable message.
# This field is usually unset. The message can be either
@@ -966,24 +968,39 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "variableTable": [ # The `variable_table` exists to aid with computation, memory and network
+ "state": "A String", # The current state of the breakpoint.
+ "userEmail": "A String", # E-mail address of the user that created this breakpoint
+ "action": "A String", # Action that the agent should perform when the code at the
+ # breakpoint location is hit.
+ "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
+ "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
+ "location": { # Represents a location in the source code. # Breakpoint source location.
+ "path": "A String", # Path to the source file within the source context of the target binary.
+ "column": 42, # Column within a line. The first column in a line as the value `1`.
+ # Agents that do not support setting breakpoints on specific columns ignore
+ # this field.
+ "line": 42, # Line inside the file. The first line in the file has the value `1`.
+ },
+ "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
+ # resolution.
+ "variableTable": [ # 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.
@@ -1002,7 +1019,7 @@
#
# int x = 5
#
- # { name: "x", value: "5", type: "int" } // Captured variable
+ # { name: "x", value: "5", type: "int" } // Captured variable
#
# 2) A compound object:
#
@@ -1013,10 +1030,10 @@
# T x = { 3, 7 };
#
# { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 3) A pointer where the pointee was captured:
@@ -1025,11 +1042,11 @@
# T* p = &x;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 4) A pointer where the pointee was not captured:
@@ -1037,10 +1054,10 @@
# T* p = new T;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
# }
#
# The status should describe the reason for the missing value,
@@ -1053,10 +1070,10 @@
# int* p = new int(7);
#
# { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
#
# 6) An unnamed pointer where the pointee was not captured:
#
@@ -1064,15 +1081,15 @@
# int** pp = &p;
#
# { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
# members {
- # value: "0x00400400",
- # type: "int*"
+ # value: "0x00400400",
+ # type: "int*"
# status {
# is_error: true,
- # description: { format: "unavailable" } }
+ # description: { format: "unavailable" } }
# }
# }
# }
@@ -1090,13 +1107,13 @@
# T* p = &x;
# T& r = x;
#
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
#
# { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# Note that the pointer address is stored with the referencing variable
@@ -1104,7 +1121,10 @@
# to be shared between pointers and references.
#
# The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
# unset. A status of a single variable only applies to that variable or
# expression. The rest of breakpoint data still remains valid. Variables
# might be reported in error state even when breakpoint is not in final
@@ -1127,39 +1147,36 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
# `var_table_index`, `type` goes next to `value`. The interpretation of
# a type is agent specific. It is recommended to include the dynamic type
# rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
},
],
- "userEmail": "A String", # E-mail address of the user that created this breakpoint
- "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when
+ "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
+ "logMessageFormat": "A 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
@@ -1167,378 +1184,17 @@
#
# Example: `Message received, id = $0, count = $1` with
# `expressions` = `[ message.id, message.count ]`.
- "state": "A String", # The current state of the breakpoint.
- "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
- "labels": { # A set of custom breakpoint properties, populated by the agent, to be
+ "labels": { # A set of custom breakpoint properties, populated by the agent, to be
# displayed to the user.
- "a_key": "A String",
+ "a_key": "A String",
},
- "stackFrames": [ # The stack at breakpoint time, where stack_frames[0] represents the most
- # recently entered function.
- { # Represents a stack frame context.
- "function": "A String", # Demangled function name at the call site.
- "arguments": [ # Set of arguments passed to this function.
- # Note that this might not be populated for all stack frames.
- { # Represents a variable or an argument possibly of a compound object type.
- # Note how the following variables are represented:
- #
- # 1) A simple variable:
- #
- # int x = 5
- #
- # { name: "x", value: "5", type: "int" } // Captured variable
- #
- # 2) A compound object:
- #
- # struct T {
- # int m1;
- # int m2;
- # };
- # T x = { 3, 7 };
- #
- # { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 3) A pointer where the pointee was captured:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 4) A pointer where the pointee was not captured:
- #
- # T* p = new T;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
- # }
- #
- # The status should describe the reason for the missing value,
- # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
- #
- # Note that a null pointer should not have members.
- #
- # 5) An unnamed value:
- #
- # int* p = new int(7);
- #
- # { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
- #
- # 6) An unnamed pointer where the pointee was not captured:
- #
- # int* p = new int(7);
- # int** pp = &p;
- #
- # { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
- # members {
- # value: "0x00400400",
- # type: "int*"
- # status {
- # is_error: true,
- # description: { format: "unavailable" } }
- # }
- # }
- # }
- #
- # To optimize computation, memory and network traffic, variables that
- # repeat in the output multiple times can be stored once in a shared
- # variable table and be referenced using the `var_table_index` field. The
- # variables stored in the shared table are nameless and are essentially
- # a partition of the complete variable. To reconstruct the complete
- # variable, merge the referencing variable with the referenced variable.
- #
- # When using the shared variable table, the following variables:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- # T& r = x;
- #
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
- #
- # { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # Note that the pointer address is stored with the referencing variable
- # and not with the referenced variable. This allows the referenced variable
- # to be shared between pointers and references.
- #
- # The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
- # unset. A status of a single variable only applies to that variable or
- # expression. The rest of breakpoint data still remains valid. Variables
- # might be reported in error state even when breakpoint is not in final
- # state.
- #
- # The message may refer to variable name with `refers_to` set to
- # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
- # In either case variable value and members will be unset.
- #
- # Example of error message applied to name: `Invalid expression syntax`.
- #
- # Example of information message applied to value: `Not captured`.
- #
- # Examples of error message applied to value:
- #
- # * `Malformed string`,
- # * `Field f not found in class C`
- # * `Null pointer dereference`
- # 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
- ],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
- # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
- # character.
- #
- # Examples:
- #
- # * `Failed to load '$0' which helps debug $1 the first time it
- # is loaded. Again, $0 is very important.`
- # * `Please pay $$10 to use $0 instead of $1.`
- },
- },
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
- # `var_table_index`, `type` goes next to `value`. The interpretation of
- # a type is agent specific. It is recommended to include the dynamic type
- # rather than a static type of an object.
- },
- ],
- "locals": [ # Set of local variables at the stack frame location.
- # Note that this might not be populated for all stack frames.
- { # Represents a variable or an argument possibly of a compound object type.
- # Note how the following variables are represented:
- #
- # 1) A simple variable:
- #
- # int x = 5
- #
- # { name: "x", value: "5", type: "int" } // Captured variable
- #
- # 2) A compound object:
- #
- # struct T {
- # int m1;
- # int m2;
- # };
- # T x = { 3, 7 };
- #
- # { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 3) A pointer where the pointee was captured:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 4) A pointer where the pointee was not captured:
- #
- # T* p = new T;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
- # }
- #
- # The status should describe the reason for the missing value,
- # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
- #
- # Note that a null pointer should not have members.
- #
- # 5) An unnamed value:
- #
- # int* p = new int(7);
- #
- # { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
- #
- # 6) An unnamed pointer where the pointee was not captured:
- #
- # int* p = new int(7);
- # int** pp = &p;
- #
- # { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
- # members {
- # value: "0x00400400",
- # type: "int*"
- # status {
- # is_error: true,
- # description: { format: "unavailable" } }
- # }
- # }
- # }
- #
- # To optimize computation, memory and network traffic, variables that
- # repeat in the output multiple times can be stored once in a shared
- # variable table and be referenced using the `var_table_index` field. The
- # variables stored in the shared table are nameless and are essentially
- # a partition of the complete variable. To reconstruct the complete
- # variable, merge the referencing variable with the referenced variable.
- #
- # When using the shared variable table, the following variables:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- # T& r = x;
- #
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
- #
- # { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # Note that the pointer address is stored with the referencing variable
- # and not with the referenced variable. This allows the referenced variable
- # to be shared between pointers and references.
- #
- # The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
- # unset. A status of a single variable only applies to that variable or
- # expression. The rest of breakpoint data still remains valid. Variables
- # might be reported in error state even when breakpoint is not in final
- # state.
- #
- # The message may refer to variable name with `refers_to` set to
- # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
- # In either case variable value and members will be unset.
- #
- # Example of error message applied to name: `Invalid expression syntax`.
- #
- # Example of information message applied to value: `Not captured`.
- #
- # Examples of error message applied to value:
- #
- # * `Malformed string`,
- # * `Field f not found in class C`
- # * `Null pointer dereference`
- # 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
- ],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
- # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
- # character.
- #
- # Examples:
- #
- # * `Failed to load '$0' which helps debug $1 the first time it
- # is loaded. Again, $0 is very important.`
- # * `Please pay $$10 to use $0 instead of $1.`
- },
- },
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
- # `var_table_index`, `type` goes next to `value`. The interpretation of
- # a type is agent specific. It is recommended to include the dynamic type
- # rather than a static type of an object.
- },
- ],
- "location": { # Represents a location in the source code. # Source location of the call site.
- "column": 42, # Column within a line. The first column in a line as the value `1`.
- # Agents that do not support setting breakpoints on specific columns ignore
- # this field.
- "path": "A String", # Path to the source file within the source context of the target binary.
- "line": 42, # Line inside the file. The first line in the file has the value `1`.
- },
- },
- ],
- "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
- "canaryExpireTime": "A String", # The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value
- # is meaningless when the breakpoint is not in CANARY_ACTIVE state.
- "location": { # Represents a location in the source code. # Breakpoint source location.
- "column": 42, # Column within a line. The first column in a line as the value `1`.
- # Agents that do not support setting breakpoints on specific columns ignore
- # this field.
- "path": "A String", # Path to the source file within the source context of the target binary.
- "line": 42, # Line inside the file. The first line in the file has the value `1`.
- },
- "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
- # resolution.
- "action": "A String", # Action that the agent should perform when the code at the
- # breakpoint location is hit.
- "expressions": [ # List of read-only expressions to evaluate at the breakpoint location.
+ "expressions": [ # 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.
- "A String",
+ "A String",
],
- "isFinalState": True or False, # When true, indicates that this is a final result and the
- # breakpoint state will not change from here on.
- "evaluatedExpressions": [ # Values of evaluated expressions at breakpoint time.
+ "evaluatedExpressions": [ # 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
@@ -1552,7 +1208,7 @@
#
# int x = 5
#
- # { name: "x", value: "5", type: "int" } // Captured variable
+ # { name: "x", value: "5", type: "int" } // Captured variable
#
# 2) A compound object:
#
@@ -1563,10 +1219,10 @@
# T x = { 3, 7 };
#
# { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 3) A pointer where the pointee was captured:
@@ -1575,11 +1231,11 @@
# T* p = &x;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 4) A pointer where the pointee was not captured:
@@ -1587,10 +1243,10 @@
# T* p = new T;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
# }
#
# The status should describe the reason for the missing value,
@@ -1603,10 +1259,10 @@
# int* p = new int(7);
#
# { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
#
# 6) An unnamed pointer where the pointee was not captured:
#
@@ -1614,15 +1270,15 @@
# int** pp = &p;
#
# { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
# members {
- # value: "0x00400400",
- # type: "int*"
+ # value: "0x00400400",
+ # type: "int*"
# status {
# is_error: true,
- # description: { format: "unavailable" } }
+ # description: { format: "unavailable" } }
# }
# }
# }
@@ -1640,13 +1296,13 @@
# T* p = &x;
# T& r = x;
#
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
#
# { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# Note that the pointer address is stored with the referencing variable
@@ -1654,7 +1310,10 @@
# to be shared between pointers and references.
#
# The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
# unset. A status of a single variable only applies to that variable or
# expression. The rest of breakpoint data still remains valid. Variables
# might be reported in error state even when breakpoint is not in final
@@ -1677,39 +1336,380 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
# `var_table_index`, `type` goes next to `value`. The interpretation of
# a type is agent specific. It is recommended to include the dynamic type
# rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
},
],
- "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
- "condition": "A String", # Condition that triggers the breakpoint.
+ "isFinalState": True or False, # When true, indicates that this is a final result and the
+ # breakpoint state will not change from here on.
+ "stackFrames": [ # The stack at breakpoint time, where stack_frames[0] represents the most
+ # recently entered function.
+ { # Represents a stack frame context.
+ "arguments": [ # Set of arguments passed to this function.
+ # Note that this might not be populated for all stack frames.
+ { # Represents a variable or an argument possibly of a compound object type.
+ # Note how the following variables are represented:
+ #
+ # 1) A simple variable:
+ #
+ # int x = 5
+ #
+ # { name: "x", value: "5", type: "int" } // Captured variable
+ #
+ # 2) A compound object:
+ #
+ # struct T {
+ # int m1;
+ # int m2;
+ # };
+ # T x = { 3, 7 };
+ #
+ # { // Captured variable
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 3) A pointer where the pointee was captured:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 4) A pointer where the pointee was not captured:
+ #
+ # T* p = new T;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
+ # }
+ #
+ # The status should describe the reason for the missing value,
+ # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
+ #
+ # Note that a null pointer should not have members.
+ #
+ # 5) An unnamed value:
+ #
+ # int* p = new int(7);
+ #
+ # { // Captured variable
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
+ #
+ # 6) An unnamed pointer where the pointee was not captured:
+ #
+ # int* p = new int(7);
+ # int** pp = &p;
+ #
+ # { // Captured variable
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
+ # members {
+ # value: "0x00400400",
+ # type: "int*"
+ # status {
+ # is_error: true,
+ # description: { format: "unavailable" } }
+ # }
+ # }
+ # }
+ #
+ # To optimize computation, memory and network traffic, variables that
+ # repeat in the output multiple times can be stored once in a shared
+ # variable table and be referenced using the `var_table_index` field. The
+ # variables stored in the shared table are nameless and are essentially
+ # a partition of the complete variable. To reconstruct the complete
+ # variable, merge the referencing variable with the referenced variable.
+ #
+ # When using the shared variable table, the following variables:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ # T& r = x;
+ #
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
+ #
+ # { // Shared variable table entry #3:
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # Note that the pointer address is stored with the referencing variable
+ # and not with the referenced variable. This allows the referenced variable
+ # to be shared between pointers and references.
+ #
+ # The type field is optional. The debugger agent may or may not support it.
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ # unset. A status of a single variable only applies to that variable or
+ # expression. The rest of breakpoint data still remains valid. Variables
+ # might be reported in error state even when breakpoint is not in final
+ # state.
+ #
+ # The message may refer to variable name with `refers_to` set to
+ # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
+ # In either case variable value and members will be unset.
+ #
+ # Example of error message applied to name: `Invalid expression syntax`.
+ #
+ # Example of information message applied to value: `Not captured`.
+ #
+ # Examples of error message applied to value:
+ #
+ # * `Malformed string`,
+ # * `Field f not found in class C`
+ # * `Null pointer dereference`
+ # 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`.
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
+ ],
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
+ # character.
+ #
+ # Examples:
+ #
+ # * `Failed to load '$0' which helps debug $1 the first time it
+ # is loaded. Again, $0 is very important.`
+ # * `Please pay $$10 to use $0 instead of $1.`
+ },
+ "refersTo": "A String", # Reference to which the message applies.
+ },
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ # `var_table_index`, `type` goes next to `value`. The interpretation of
+ # a type is agent specific. It is recommended to include the dynamic type
+ # rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
+ },
+ ],
+ "locals": [ # Set of local variables at the stack frame location.
+ # Note that this might not be populated for all stack frames.
+ { # Represents a variable or an argument possibly of a compound object type.
+ # Note how the following variables are represented:
+ #
+ # 1) A simple variable:
+ #
+ # int x = 5
+ #
+ # { name: "x", value: "5", type: "int" } // Captured variable
+ #
+ # 2) A compound object:
+ #
+ # struct T {
+ # int m1;
+ # int m2;
+ # };
+ # T x = { 3, 7 };
+ #
+ # { // Captured variable
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 3) A pointer where the pointee was captured:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 4) A pointer where the pointee was not captured:
+ #
+ # T* p = new T;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
+ # }
+ #
+ # The status should describe the reason for the missing value,
+ # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
+ #
+ # Note that a null pointer should not have members.
+ #
+ # 5) An unnamed value:
+ #
+ # int* p = new int(7);
+ #
+ # { // Captured variable
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
+ #
+ # 6) An unnamed pointer where the pointee was not captured:
+ #
+ # int* p = new int(7);
+ # int** pp = &p;
+ #
+ # { // Captured variable
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
+ # members {
+ # value: "0x00400400",
+ # type: "int*"
+ # status {
+ # is_error: true,
+ # description: { format: "unavailable" } }
+ # }
+ # }
+ # }
+ #
+ # To optimize computation, memory and network traffic, variables that
+ # repeat in the output multiple times can be stored once in a shared
+ # variable table and be referenced using the `var_table_index` field. The
+ # variables stored in the shared table are nameless and are essentially
+ # a partition of the complete variable. To reconstruct the complete
+ # variable, merge the referencing variable with the referenced variable.
+ #
+ # When using the shared variable table, the following variables:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ # T& r = x;
+ #
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
+ #
+ # { // Shared variable table entry #3:
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # Note that the pointer address is stored with the referencing variable
+ # and not with the referenced variable. This allows the referenced variable
+ # to be shared between pointers and references.
+ #
+ # The type field is optional. The debugger agent may or may not support it.
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ # unset. A status of a single variable only applies to that variable or
+ # expression. The rest of breakpoint data still remains valid. Variables
+ # might be reported in error state even when breakpoint is not in final
+ # state.
+ #
+ # The message may refer to variable name with `refers_to` set to
+ # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
+ # In either case variable value and members will be unset.
+ #
+ # Example of error message applied to name: `Invalid expression syntax`.
+ #
+ # Example of information message applied to value: `Not captured`.
+ #
+ # Examples of error message applied to value:
+ #
+ # * `Malformed string`,
+ # * `Field f not found in class C`
+ # * `Null pointer dereference`
+ # 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`.
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
+ ],
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
+ # character.
+ #
+ # Examples:
+ #
+ # * `Failed to load '$0' which helps debug $1 the first time it
+ # is loaded. Again, $0 is very important.`
+ # * `Please pay $$10 to use $0 instead of $1.`
+ },
+ "refersTo": "A String", # Reference to which the message applies.
+ },
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ # `var_table_index`, `type` goes next to `value`. The interpretation of
+ # a type is agent specific. It is recommended to include the dynamic type
+ # rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
+ },
+ ],
+ "location": { # Represents a location in the source code. # Source location of the call site.
+ "path": "A String", # Path to the source file within the source context of the target binary.
+ "column": 42, # Column within a line. The first column in a line as the value `1`.
+ # Agents that do not support setting breakpoints on specific columns ignore
+ # this field.
+ "line": 42, # Line inside the file. The first line in the file has the value `1`.
+ },
+ "function": "A String", # Demangled function name at the call site.
+ },
+ ],
+ "condition": "A String", # Condition that triggers the breakpoint.
# The condition is a compound boolean expression composed using expressions
# in a programming language at the source location.
},
@@ -1718,7 +1718,7 @@
</div>
<div class="method">
- <code class="details" id="set">set(debuggeeId, body=None, clientVersion=None, canaryOption=None, x__xgafv=None)</code>
+ <code class="details" id="set">set(debuggeeId, body=None, canaryOption=None, clientVersion=None, x__xgafv=None)</code>
<pre>Sets the breakpoint to the debuggee.
Args:
@@ -1730,7 +1730,9 @@
# ## Breakpoint (the resource)
#
# Represents the breakpoint specification, status and results.
- "status": { # Represents a contextual status message. # Breakpoint status.
+ "canaryExpireTime": "A String", # The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value
+ # is meaningless when the breakpoint is not in CANARY_ACTIVE state.
+ "status": { # Represents a contextual status message. # Breakpoint status.
#
# The status includes an error flag and a human readable message.
# This field is usually unset. The message can be either
@@ -1749,24 +1751,39 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "variableTable": [ # The `variable_table` exists to aid with computation, memory and network
+ "state": "A String", # The current state of the breakpoint.
+ "userEmail": "A String", # E-mail address of the user that created this breakpoint
+ "action": "A String", # Action that the agent should perform when the code at the
+ # breakpoint location is hit.
+ "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
+ "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
+ "location": { # Represents a location in the source code. # Breakpoint source location.
+ "path": "A String", # Path to the source file within the source context of the target binary.
+ "column": 42, # Column within a line. The first column in a line as the value `1`.
+ # Agents that do not support setting breakpoints on specific columns ignore
+ # this field.
+ "line": 42, # Line inside the file. The first line in the file has the value `1`.
+ },
+ "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
+ # resolution.
+ "variableTable": [ # 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.
@@ -1785,7 +1802,7 @@
#
# int x = 5
#
- # { name: "x", value: "5", type: "int" } // Captured variable
+ # { name: "x", value: "5", type: "int" } // Captured variable
#
# 2) A compound object:
#
@@ -1796,10 +1813,10 @@
# T x = { 3, 7 };
#
# { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 3) A pointer where the pointee was captured:
@@ -1808,11 +1825,11 @@
# T* p = &x;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 4) A pointer where the pointee was not captured:
@@ -1820,10 +1837,10 @@
# T* p = new T;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
# }
#
# The status should describe the reason for the missing value,
@@ -1836,10 +1853,10 @@
# int* p = new int(7);
#
# { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
#
# 6) An unnamed pointer where the pointee was not captured:
#
@@ -1847,15 +1864,15 @@
# int** pp = &p;
#
# { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
# members {
- # value: "0x00400400",
- # type: "int*"
+ # value: "0x00400400",
+ # type: "int*"
# status {
# is_error: true,
- # description: { format: "unavailable" } }
+ # description: { format: "unavailable" } }
# }
# }
# }
@@ -1873,13 +1890,13 @@
# T* p = &x;
# T& r = x;
#
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
#
# { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# Note that the pointer address is stored with the referencing variable
@@ -1887,7 +1904,10 @@
# to be shared between pointers and references.
#
# The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
# unset. A status of a single variable only applies to that variable or
# expression. The rest of breakpoint data still remains valid. Variables
# might be reported in error state even when breakpoint is not in final
@@ -1910,39 +1930,36 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
# `var_table_index`, `type` goes next to `value`. The interpretation of
# a type is agent specific. It is recommended to include the dynamic type
# rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
},
],
- "userEmail": "A String", # E-mail address of the user that created this breakpoint
- "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when
+ "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
+ "logMessageFormat": "A 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
@@ -1950,378 +1967,17 @@
#
# Example: `Message received, id = $0, count = $1` with
# `expressions` = `[ message.id, message.count ]`.
- "state": "A String", # The current state of the breakpoint.
- "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
- "labels": { # A set of custom breakpoint properties, populated by the agent, to be
+ "labels": { # A set of custom breakpoint properties, populated by the agent, to be
# displayed to the user.
- "a_key": "A String",
+ "a_key": "A String",
},
- "stackFrames": [ # The stack at breakpoint time, where stack_frames[0] represents the most
- # recently entered function.
- { # Represents a stack frame context.
- "function": "A String", # Demangled function name at the call site.
- "arguments": [ # Set of arguments passed to this function.
- # Note that this might not be populated for all stack frames.
- { # Represents a variable or an argument possibly of a compound object type.
- # Note how the following variables are represented:
- #
- # 1) A simple variable:
- #
- # int x = 5
- #
- # { name: "x", value: "5", type: "int" } // Captured variable
- #
- # 2) A compound object:
- #
- # struct T {
- # int m1;
- # int m2;
- # };
- # T x = { 3, 7 };
- #
- # { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 3) A pointer where the pointee was captured:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 4) A pointer where the pointee was not captured:
- #
- # T* p = new T;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
- # }
- #
- # The status should describe the reason for the missing value,
- # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
- #
- # Note that a null pointer should not have members.
- #
- # 5) An unnamed value:
- #
- # int* p = new int(7);
- #
- # { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
- #
- # 6) An unnamed pointer where the pointee was not captured:
- #
- # int* p = new int(7);
- # int** pp = &p;
- #
- # { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
- # members {
- # value: "0x00400400",
- # type: "int*"
- # status {
- # is_error: true,
- # description: { format: "unavailable" } }
- # }
- # }
- # }
- #
- # To optimize computation, memory and network traffic, variables that
- # repeat in the output multiple times can be stored once in a shared
- # variable table and be referenced using the `var_table_index` field. The
- # variables stored in the shared table are nameless and are essentially
- # a partition of the complete variable. To reconstruct the complete
- # variable, merge the referencing variable with the referenced variable.
- #
- # When using the shared variable table, the following variables:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- # T& r = x;
- #
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
- #
- # { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # Note that the pointer address is stored with the referencing variable
- # and not with the referenced variable. This allows the referenced variable
- # to be shared between pointers and references.
- #
- # The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
- # unset. A status of a single variable only applies to that variable or
- # expression. The rest of breakpoint data still remains valid. Variables
- # might be reported in error state even when breakpoint is not in final
- # state.
- #
- # The message may refer to variable name with `refers_to` set to
- # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
- # In either case variable value and members will be unset.
- #
- # Example of error message applied to name: `Invalid expression syntax`.
- #
- # Example of information message applied to value: `Not captured`.
- #
- # Examples of error message applied to value:
- #
- # * `Malformed string`,
- # * `Field f not found in class C`
- # * `Null pointer dereference`
- # 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
- ],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
- # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
- # character.
- #
- # Examples:
- #
- # * `Failed to load '$0' which helps debug $1 the first time it
- # is loaded. Again, $0 is very important.`
- # * `Please pay $$10 to use $0 instead of $1.`
- },
- },
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
- # `var_table_index`, `type` goes next to `value`. The interpretation of
- # a type is agent specific. It is recommended to include the dynamic type
- # rather than a static type of an object.
- },
- ],
- "locals": [ # Set of local variables at the stack frame location.
- # Note that this might not be populated for all stack frames.
- { # Represents a variable or an argument possibly of a compound object type.
- # Note how the following variables are represented:
- #
- # 1) A simple variable:
- #
- # int x = 5
- #
- # { name: "x", value: "5", type: "int" } // Captured variable
- #
- # 2) A compound object:
- #
- # struct T {
- # int m1;
- # int m2;
- # };
- # T x = { 3, 7 };
- #
- # { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 3) A pointer where the pointee was captured:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 4) A pointer where the pointee was not captured:
- #
- # T* p = new T;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
- # }
- #
- # The status should describe the reason for the missing value,
- # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
- #
- # Note that a null pointer should not have members.
- #
- # 5) An unnamed value:
- #
- # int* p = new int(7);
- #
- # { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
- #
- # 6) An unnamed pointer where the pointee was not captured:
- #
- # int* p = new int(7);
- # int** pp = &p;
- #
- # { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
- # members {
- # value: "0x00400400",
- # type: "int*"
- # status {
- # is_error: true,
- # description: { format: "unavailable" } }
- # }
- # }
- # }
- #
- # To optimize computation, memory and network traffic, variables that
- # repeat in the output multiple times can be stored once in a shared
- # variable table and be referenced using the `var_table_index` field. The
- # variables stored in the shared table are nameless and are essentially
- # a partition of the complete variable. To reconstruct the complete
- # variable, merge the referencing variable with the referenced variable.
- #
- # When using the shared variable table, the following variables:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- # T& r = x;
- #
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
- #
- # { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # Note that the pointer address is stored with the referencing variable
- # and not with the referenced variable. This allows the referenced variable
- # to be shared between pointers and references.
- #
- # The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
- # unset. A status of a single variable only applies to that variable or
- # expression. The rest of breakpoint data still remains valid. Variables
- # might be reported in error state even when breakpoint is not in final
- # state.
- #
- # The message may refer to variable name with `refers_to` set to
- # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
- # In either case variable value and members will be unset.
- #
- # Example of error message applied to name: `Invalid expression syntax`.
- #
- # Example of information message applied to value: `Not captured`.
- #
- # Examples of error message applied to value:
- #
- # * `Malformed string`,
- # * `Field f not found in class C`
- # * `Null pointer dereference`
- # 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
- ],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
- # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
- # character.
- #
- # Examples:
- #
- # * `Failed to load '$0' which helps debug $1 the first time it
- # is loaded. Again, $0 is very important.`
- # * `Please pay $$10 to use $0 instead of $1.`
- },
- },
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
- # `var_table_index`, `type` goes next to `value`. The interpretation of
- # a type is agent specific. It is recommended to include the dynamic type
- # rather than a static type of an object.
- },
- ],
- "location": { # Represents a location in the source code. # Source location of the call site.
- "column": 42, # Column within a line. The first column in a line as the value `1`.
- # Agents that do not support setting breakpoints on specific columns ignore
- # this field.
- "path": "A String", # Path to the source file within the source context of the target binary.
- "line": 42, # Line inside the file. The first line in the file has the value `1`.
- },
- },
- ],
- "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
- "canaryExpireTime": "A String", # The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value
- # is meaningless when the breakpoint is not in CANARY_ACTIVE state.
- "location": { # Represents a location in the source code. # Breakpoint source location.
- "column": 42, # Column within a line. The first column in a line as the value `1`.
- # Agents that do not support setting breakpoints on specific columns ignore
- # this field.
- "path": "A String", # Path to the source file within the source context of the target binary.
- "line": 42, # Line inside the file. The first line in the file has the value `1`.
- },
- "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
- # resolution.
- "action": "A String", # Action that the agent should perform when the code at the
- # breakpoint location is hit.
- "expressions": [ # List of read-only expressions to evaluate at the breakpoint location.
+ "expressions": [ # 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.
- "A String",
+ "A String",
],
- "isFinalState": True or False, # When true, indicates that this is a final result and the
- # breakpoint state will not change from here on.
- "evaluatedExpressions": [ # Values of evaluated expressions at breakpoint time.
+ "evaluatedExpressions": [ # 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
@@ -2335,7 +1991,7 @@
#
# int x = 5
#
- # { name: "x", value: "5", type: "int" } // Captured variable
+ # { name: "x", value: "5", type: "int" } // Captured variable
#
# 2) A compound object:
#
@@ -2346,10 +2002,10 @@
# T x = { 3, 7 };
#
# { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 3) A pointer where the pointee was captured:
@@ -2358,11 +2014,11 @@
# T* p = &x;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 4) A pointer where the pointee was not captured:
@@ -2370,10 +2026,10 @@
# T* p = new T;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
# }
#
# The status should describe the reason for the missing value,
@@ -2386,10 +2042,10 @@
# int* p = new int(7);
#
# { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
#
# 6) An unnamed pointer where the pointee was not captured:
#
@@ -2397,15 +2053,15 @@
# int** pp = &p;
#
# { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
# members {
- # value: "0x00400400",
- # type: "int*"
+ # value: "0x00400400",
+ # type: "int*"
# status {
# is_error: true,
- # description: { format: "unavailable" } }
+ # description: { format: "unavailable" } }
# }
# }
# }
@@ -2423,13 +2079,13 @@
# T* p = &x;
# T& r = x;
#
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
#
# { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# Note that the pointer address is stored with the referencing variable
@@ -2437,7 +2093,10 @@
# to be shared between pointers and references.
#
# The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
# unset. A status of a single variable only applies to that variable or
# expression. The rest of breakpoint data still remains valid. Variables
# might be reported in error state even when breakpoint is not in final
@@ -2460,46 +2119,387 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
# `var_table_index`, `type` goes next to `value`. The interpretation of
# a type is agent specific. It is recommended to include the dynamic type
# rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
},
],
- "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
- "condition": "A String", # Condition that triggers the breakpoint.
+ "isFinalState": True or False, # When true, indicates that this is a final result and the
+ # breakpoint state will not change from here on.
+ "stackFrames": [ # The stack at breakpoint time, where stack_frames[0] represents the most
+ # recently entered function.
+ { # Represents a stack frame context.
+ "arguments": [ # Set of arguments passed to this function.
+ # Note that this might not be populated for all stack frames.
+ { # Represents a variable or an argument possibly of a compound object type.
+ # Note how the following variables are represented:
+ #
+ # 1) A simple variable:
+ #
+ # int x = 5
+ #
+ # { name: "x", value: "5", type: "int" } // Captured variable
+ #
+ # 2) A compound object:
+ #
+ # struct T {
+ # int m1;
+ # int m2;
+ # };
+ # T x = { 3, 7 };
+ #
+ # { // Captured variable
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 3) A pointer where the pointee was captured:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 4) A pointer where the pointee was not captured:
+ #
+ # T* p = new T;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
+ # }
+ #
+ # The status should describe the reason for the missing value,
+ # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
+ #
+ # Note that a null pointer should not have members.
+ #
+ # 5) An unnamed value:
+ #
+ # int* p = new int(7);
+ #
+ # { // Captured variable
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
+ #
+ # 6) An unnamed pointer where the pointee was not captured:
+ #
+ # int* p = new int(7);
+ # int** pp = &p;
+ #
+ # { // Captured variable
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
+ # members {
+ # value: "0x00400400",
+ # type: "int*"
+ # status {
+ # is_error: true,
+ # description: { format: "unavailable" } }
+ # }
+ # }
+ # }
+ #
+ # To optimize computation, memory and network traffic, variables that
+ # repeat in the output multiple times can be stored once in a shared
+ # variable table and be referenced using the `var_table_index` field. The
+ # variables stored in the shared table are nameless and are essentially
+ # a partition of the complete variable. To reconstruct the complete
+ # variable, merge the referencing variable with the referenced variable.
+ #
+ # When using the shared variable table, the following variables:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ # T& r = x;
+ #
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
+ #
+ # { // Shared variable table entry #3:
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # Note that the pointer address is stored with the referencing variable
+ # and not with the referenced variable. This allows the referenced variable
+ # to be shared between pointers and references.
+ #
+ # The type field is optional. The debugger agent may or may not support it.
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ # unset. A status of a single variable only applies to that variable or
+ # expression. The rest of breakpoint data still remains valid. Variables
+ # might be reported in error state even when breakpoint is not in final
+ # state.
+ #
+ # The message may refer to variable name with `refers_to` set to
+ # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
+ # In either case variable value and members will be unset.
+ #
+ # Example of error message applied to name: `Invalid expression syntax`.
+ #
+ # Example of information message applied to value: `Not captured`.
+ #
+ # Examples of error message applied to value:
+ #
+ # * `Malformed string`,
+ # * `Field f not found in class C`
+ # * `Null pointer dereference`
+ # 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`.
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
+ ],
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
+ # character.
+ #
+ # Examples:
+ #
+ # * `Failed to load '$0' which helps debug $1 the first time it
+ # is loaded. Again, $0 is very important.`
+ # * `Please pay $$10 to use $0 instead of $1.`
+ },
+ "refersTo": "A String", # Reference to which the message applies.
+ },
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ # `var_table_index`, `type` goes next to `value`. The interpretation of
+ # a type is agent specific. It is recommended to include the dynamic type
+ # rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
+ },
+ ],
+ "locals": [ # Set of local variables at the stack frame location.
+ # Note that this might not be populated for all stack frames.
+ { # Represents a variable or an argument possibly of a compound object type.
+ # Note how the following variables are represented:
+ #
+ # 1) A simple variable:
+ #
+ # int x = 5
+ #
+ # { name: "x", value: "5", type: "int" } // Captured variable
+ #
+ # 2) A compound object:
+ #
+ # struct T {
+ # int m1;
+ # int m2;
+ # };
+ # T x = { 3, 7 };
+ #
+ # { // Captured variable
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 3) A pointer where the pointee was captured:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 4) A pointer where the pointee was not captured:
+ #
+ # T* p = new T;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
+ # }
+ #
+ # The status should describe the reason for the missing value,
+ # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
+ #
+ # Note that a null pointer should not have members.
+ #
+ # 5) An unnamed value:
+ #
+ # int* p = new int(7);
+ #
+ # { // Captured variable
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
+ #
+ # 6) An unnamed pointer where the pointee was not captured:
+ #
+ # int* p = new int(7);
+ # int** pp = &p;
+ #
+ # { // Captured variable
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
+ # members {
+ # value: "0x00400400",
+ # type: "int*"
+ # status {
+ # is_error: true,
+ # description: { format: "unavailable" } }
+ # }
+ # }
+ # }
+ #
+ # To optimize computation, memory and network traffic, variables that
+ # repeat in the output multiple times can be stored once in a shared
+ # variable table and be referenced using the `var_table_index` field. The
+ # variables stored in the shared table are nameless and are essentially
+ # a partition of the complete variable. To reconstruct the complete
+ # variable, merge the referencing variable with the referenced variable.
+ #
+ # When using the shared variable table, the following variables:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ # T& r = x;
+ #
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
+ #
+ # { // Shared variable table entry #3:
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # Note that the pointer address is stored with the referencing variable
+ # and not with the referenced variable. This allows the referenced variable
+ # to be shared between pointers and references.
+ #
+ # The type field is optional. The debugger agent may or may not support it.
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ # unset. A status of a single variable only applies to that variable or
+ # expression. The rest of breakpoint data still remains valid. Variables
+ # might be reported in error state even when breakpoint is not in final
+ # state.
+ #
+ # The message may refer to variable name with `refers_to` set to
+ # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
+ # In either case variable value and members will be unset.
+ #
+ # Example of error message applied to name: `Invalid expression syntax`.
+ #
+ # Example of information message applied to value: `Not captured`.
+ #
+ # Examples of error message applied to value:
+ #
+ # * `Malformed string`,
+ # * `Field f not found in class C`
+ # * `Null pointer dereference`
+ # 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`.
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
+ ],
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
+ # character.
+ #
+ # Examples:
+ #
+ # * `Failed to load '$0' which helps debug $1 the first time it
+ # is loaded. Again, $0 is very important.`
+ # * `Please pay $$10 to use $0 instead of $1.`
+ },
+ "refersTo": "A String", # Reference to which the message applies.
+ },
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ # `var_table_index`, `type` goes next to `value`. The interpretation of
+ # a type is agent specific. It is recommended to include the dynamic type
+ # rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
+ },
+ ],
+ "location": { # Represents a location in the source code. # Source location of the call site.
+ "path": "A String", # Path to the source file within the source context of the target binary.
+ "column": 42, # Column within a line. The first column in a line as the value `1`.
+ # Agents that do not support setting breakpoints on specific columns ignore
+ # this field.
+ "line": 42, # Line inside the file. The first line in the file has the value `1`.
+ },
+ "function": "A String", # Demangled function name at the call site.
+ },
+ ],
+ "condition": "A String", # Condition that triggers the breakpoint.
# The condition is a compound boolean expression composed using expressions
# in a programming language at the source location.
}
+ canaryOption: string, The canary option set by the user upon setting breakpoint.
clientVersion: string, Required. The client version making the call.
Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
- canaryOption: string, The canary option set by the user upon setting breakpoint.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
@@ -2509,12 +2509,14 @@
An object of the form:
{ # Response for setting a breakpoint.
- "breakpoint": { # ------------------------------------------------------------------------------ # Breakpoint resource.
+ "breakpoint": { # ------------------------------------------------------------------------------ # Breakpoint resource.
# The field `id` is guaranteed to be set (in addition to the echoed fields).
# ## Breakpoint (the resource)
#
# Represents the breakpoint specification, status and results.
- "status": { # Represents a contextual status message. # Breakpoint status.
+ "canaryExpireTime": "A String", # The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value
+ # is meaningless when the breakpoint is not in CANARY_ACTIVE state.
+ "status": { # Represents a contextual status message. # Breakpoint status.
#
# The status includes an error flag and a human readable message.
# This field is usually unset. The message can be either
@@ -2533,24 +2535,39 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "variableTable": [ # The `variable_table` exists to aid with computation, memory and network
+ "state": "A String", # The current state of the breakpoint.
+ "userEmail": "A String", # E-mail address of the user that created this breakpoint
+ "action": "A String", # Action that the agent should perform when the code at the
+ # breakpoint location is hit.
+ "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
+ "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
+ "location": { # Represents a location in the source code. # Breakpoint source location.
+ "path": "A String", # Path to the source file within the source context of the target binary.
+ "column": 42, # Column within a line. The first column in a line as the value `1`.
+ # Agents that do not support setting breakpoints on specific columns ignore
+ # this field.
+ "line": 42, # Line inside the file. The first line in the file has the value `1`.
+ },
+ "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
+ # resolution.
+ "variableTable": [ # 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.
@@ -2569,7 +2586,7 @@
#
# int x = 5
#
- # { name: "x", value: "5", type: "int" } // Captured variable
+ # { name: "x", value: "5", type: "int" } // Captured variable
#
# 2) A compound object:
#
@@ -2580,10 +2597,10 @@
# T x = { 3, 7 };
#
# { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 3) A pointer where the pointee was captured:
@@ -2592,11 +2609,11 @@
# T* p = &x;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 4) A pointer where the pointee was not captured:
@@ -2604,10 +2621,10 @@
# T* p = new T;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
# }
#
# The status should describe the reason for the missing value,
@@ -2620,10 +2637,10 @@
# int* p = new int(7);
#
# { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
#
# 6) An unnamed pointer where the pointee was not captured:
#
@@ -2631,15 +2648,15 @@
# int** pp = &p;
#
# { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
# members {
- # value: "0x00400400",
- # type: "int*"
+ # value: "0x00400400",
+ # type: "int*"
# status {
# is_error: true,
- # description: { format: "unavailable" } }
+ # description: { format: "unavailable" } }
# }
# }
# }
@@ -2657,13 +2674,13 @@
# T* p = &x;
# T& r = x;
#
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
#
# { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# Note that the pointer address is stored with the referencing variable
@@ -2671,7 +2688,10 @@
# to be shared between pointers and references.
#
# The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
# unset. A status of a single variable only applies to that variable or
# expression. The rest of breakpoint data still remains valid. Variables
# might be reported in error state even when breakpoint is not in final
@@ -2694,39 +2714,36 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
# `var_table_index`, `type` goes next to `value`. The interpretation of
# a type is agent specific. It is recommended to include the dynamic type
# rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
},
],
- "userEmail": "A String", # E-mail address of the user that created this breakpoint
- "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when
+ "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
+ "logMessageFormat": "A 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
@@ -2734,378 +2751,17 @@
#
# Example: `Message received, id = $0, count = $1` with
# `expressions` = `[ message.id, message.count ]`.
- "state": "A String", # The current state of the breakpoint.
- "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
- "labels": { # A set of custom breakpoint properties, populated by the agent, to be
+ "labels": { # A set of custom breakpoint properties, populated by the agent, to be
# displayed to the user.
- "a_key": "A String",
+ "a_key": "A String",
},
- "stackFrames": [ # The stack at breakpoint time, where stack_frames[0] represents the most
- # recently entered function.
- { # Represents a stack frame context.
- "function": "A String", # Demangled function name at the call site.
- "arguments": [ # Set of arguments passed to this function.
- # Note that this might not be populated for all stack frames.
- { # Represents a variable or an argument possibly of a compound object type.
- # Note how the following variables are represented:
- #
- # 1) A simple variable:
- #
- # int x = 5
- #
- # { name: "x", value: "5", type: "int" } // Captured variable
- #
- # 2) A compound object:
- #
- # struct T {
- # int m1;
- # int m2;
- # };
- # T x = { 3, 7 };
- #
- # { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 3) A pointer where the pointee was captured:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 4) A pointer where the pointee was not captured:
- #
- # T* p = new T;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
- # }
- #
- # The status should describe the reason for the missing value,
- # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
- #
- # Note that a null pointer should not have members.
- #
- # 5) An unnamed value:
- #
- # int* p = new int(7);
- #
- # { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
- #
- # 6) An unnamed pointer where the pointee was not captured:
- #
- # int* p = new int(7);
- # int** pp = &p;
- #
- # { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
- # members {
- # value: "0x00400400",
- # type: "int*"
- # status {
- # is_error: true,
- # description: { format: "unavailable" } }
- # }
- # }
- # }
- #
- # To optimize computation, memory and network traffic, variables that
- # repeat in the output multiple times can be stored once in a shared
- # variable table and be referenced using the `var_table_index` field. The
- # variables stored in the shared table are nameless and are essentially
- # a partition of the complete variable. To reconstruct the complete
- # variable, merge the referencing variable with the referenced variable.
- #
- # When using the shared variable table, the following variables:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- # T& r = x;
- #
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
- #
- # { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # Note that the pointer address is stored with the referencing variable
- # and not with the referenced variable. This allows the referenced variable
- # to be shared between pointers and references.
- #
- # The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
- # unset. A status of a single variable only applies to that variable or
- # expression. The rest of breakpoint data still remains valid. Variables
- # might be reported in error state even when breakpoint is not in final
- # state.
- #
- # The message may refer to variable name with `refers_to` set to
- # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
- # In either case variable value and members will be unset.
- #
- # Example of error message applied to name: `Invalid expression syntax`.
- #
- # Example of information message applied to value: `Not captured`.
- #
- # Examples of error message applied to value:
- #
- # * `Malformed string`,
- # * `Field f not found in class C`
- # * `Null pointer dereference`
- # 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
- ],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
- # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
- # character.
- #
- # Examples:
- #
- # * `Failed to load '$0' which helps debug $1 the first time it
- # is loaded. Again, $0 is very important.`
- # * `Please pay $$10 to use $0 instead of $1.`
- },
- },
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
- # `var_table_index`, `type` goes next to `value`. The interpretation of
- # a type is agent specific. It is recommended to include the dynamic type
- # rather than a static type of an object.
- },
- ],
- "locals": [ # Set of local variables at the stack frame location.
- # Note that this might not be populated for all stack frames.
- { # Represents a variable or an argument possibly of a compound object type.
- # Note how the following variables are represented:
- #
- # 1) A simple variable:
- #
- # int x = 5
- #
- # { name: "x", value: "5", type: "int" } // Captured variable
- #
- # 2) A compound object:
- #
- # struct T {
- # int m1;
- # int m2;
- # };
- # T x = { 3, 7 };
- #
- # { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 3) A pointer where the pointee was captured:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # 4) A pointer where the pointee was not captured:
- #
- # T* p = new T;
- #
- # { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
- # }
- #
- # The status should describe the reason for the missing value,
- # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
- #
- # Note that a null pointer should not have members.
- #
- # 5) An unnamed value:
- #
- # int* p = new int(7);
- #
- # { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
- #
- # 6) An unnamed pointer where the pointee was not captured:
- #
- # int* p = new int(7);
- # int** pp = &p;
- #
- # { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
- # members {
- # value: "0x00400400",
- # type: "int*"
- # status {
- # is_error: true,
- # description: { format: "unavailable" } }
- # }
- # }
- # }
- #
- # To optimize computation, memory and network traffic, variables that
- # repeat in the output multiple times can be stored once in a shared
- # variable table and be referenced using the `var_table_index` field. The
- # variables stored in the shared table are nameless and are essentially
- # a partition of the complete variable. To reconstruct the complete
- # variable, merge the referencing variable with the referenced variable.
- #
- # When using the shared variable table, the following variables:
- #
- # T x = { 3, 7 };
- # T* p = &x;
- # T& r = x;
- #
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
- #
- # { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
- # }
- #
- # Note that the pointer address is stored with the referencing variable
- # and not with the referenced variable. This allows the referenced variable
- # to be shared between pointers and references.
- #
- # The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
- # unset. A status of a single variable only applies to that variable or
- # expression. The rest of breakpoint data still remains valid. Variables
- # might be reported in error state even when breakpoint is not in final
- # state.
- #
- # The message may refer to variable name with `refers_to` set to
- # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
- # In either case variable value and members will be unset.
- #
- # Example of error message applied to name: `Invalid expression syntax`.
- #
- # Example of information message applied to value: `Not captured`.
- #
- # Examples of error message applied to value:
- #
- # * `Malformed string`,
- # * `Field f not found in class C`
- # * `Null pointer dereference`
- # 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
- ],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
- # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
- # character.
- #
- # Examples:
- #
- # * `Failed to load '$0' which helps debug $1 the first time it
- # is loaded. Again, $0 is very important.`
- # * `Please pay $$10 to use $0 instead of $1.`
- },
- },
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
- # `var_table_index`, `type` goes next to `value`. The interpretation of
- # a type is agent specific. It is recommended to include the dynamic type
- # rather than a static type of an object.
- },
- ],
- "location": { # Represents a location in the source code. # Source location of the call site.
- "column": 42, # Column within a line. The first column in a line as the value `1`.
- # Agents that do not support setting breakpoints on specific columns ignore
- # this field.
- "path": "A String", # Path to the source file within the source context of the target binary.
- "line": 42, # Line inside the file. The first line in the file has the value `1`.
- },
- },
- ],
- "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
- "canaryExpireTime": "A String", # The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value
- # is meaningless when the breakpoint is not in CANARY_ACTIVE state.
- "location": { # Represents a location in the source code. # Breakpoint source location.
- "column": 42, # Column within a line. The first column in a line as the value `1`.
- # Agents that do not support setting breakpoints on specific columns ignore
- # this field.
- "path": "A String", # Path to the source file within the source context of the target binary.
- "line": 42, # Line inside the file. The first line in the file has the value `1`.
- },
- "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
- # resolution.
- "action": "A String", # Action that the agent should perform when the code at the
- # breakpoint location is hit.
- "expressions": [ # List of read-only expressions to evaluate at the breakpoint location.
+ "expressions": [ # 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.
- "A String",
+ "A String",
],
- "isFinalState": True or False, # When true, indicates that this is a final result and the
- # breakpoint state will not change from here on.
- "evaluatedExpressions": [ # Values of evaluated expressions at breakpoint time.
+ "evaluatedExpressions": [ # 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
@@ -3119,7 +2775,7 @@
#
# int x = 5
#
- # { name: "x", value: "5", type: "int" } // Captured variable
+ # { name: "x", value: "5", type: "int" } // Captured variable
#
# 2) A compound object:
#
@@ -3130,10 +2786,10 @@
# T x = { 3, 7 };
#
# { // Captured variable
- # name: "x",
- # type: "T",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 3) A pointer where the pointee was captured:
@@ -3142,11 +2798,11 @@
# T* p = &x;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00500500",
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# 4) A pointer where the pointee was not captured:
@@ -3154,10 +2810,10 @@
# T* p = new T;
#
# { // Captured variable
- # name: "p",
- # type: "T*",
- # value: "0x00400400"
- # status { is_error: true, description { format: "unavailable" } }
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
# }
#
# The status should describe the reason for the missing value,
@@ -3170,10 +2826,10 @@
# int* p = new int(7);
#
# { // Captured variable
- # name: "p",
- # value: "0x00500500",
- # type: "int*",
- # members { value: "7", type: "int" } }
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
#
# 6) An unnamed pointer where the pointee was not captured:
#
@@ -3181,15 +2837,15 @@
# int** pp = &p;
#
# { // Captured variable
- # name: "pp",
- # value: "0x00500500",
- # type: "int**",
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
# members {
- # value: "0x00400400",
- # type: "int*"
+ # value: "0x00400400",
+ # type: "int*"
# status {
# is_error: true,
- # description: { format: "unavailable" } }
+ # description: { format: "unavailable" } }
# }
# }
# }
@@ -3207,13 +2863,13 @@
# T* p = &x;
# T& r = x;
#
- # { name: "x", var_table_index: 3, type: "T" } // Captured variables
- # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
- # { name: "r", type="T&", var_table_index: 3 }
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
#
# { // Shared variable table entry #3:
- # members { name: "m1", value: "3", type: "int" },
- # members { name: "m2", value: "7", type: "int" }
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
# }
#
# Note that the pointer address is stored with the referencing variable
@@ -3221,7 +2877,10 @@
# to be shared between pointers and references.
#
# The type field is optional. The debugger agent may or may not support it.
- "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
# unset. A status of a single variable only applies to that variable or
# expression. The rest of breakpoint data still remains valid. Variables
# might be reported in error state even when breakpoint is not in final
@@ -3244,39 +2903,380 @@
# 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`.
- "isError": True or False, # Distinguishes errors from informational messages.
- "refersTo": "A String", # Reference to which the message applies.
- "description": { # Represents a message with parameters. # Status message text.
- "parameters": [ # Optional parameters to be embedded into the message.
- "A String",
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
],
- "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
# `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
# character.
#
# Examples:
#
- # * `Failed to load '$0' which helps debug $1 the first time it
+ # * `Failed to load '$0' which helps debug $1 the first time it
# is loaded. Again, $0 is very important.`
# * `Please pay $$10 to use $0 instead of $1.`
},
+ "refersTo": "A String", # Reference to which the message applies.
},
- "name": "A String", # Name of the variable, if any.
- "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
- # one variable can reference the same variable in the table. The
- # `var_table_index` field is an index into `variable_table` in Breakpoint.
- "value": "A String", # Simple value of the variable.
- "members": [ # Members contained or pointed to by the variable.
- # Object with schema name: Variable
- ],
- "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
# `var_table_index`, `type` goes next to `value`. The interpretation of
# a type is agent specific. It is recommended to include the dynamic type
# rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
},
],
- "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
- "condition": "A String", # Condition that triggers the breakpoint.
+ "isFinalState": True or False, # When true, indicates that this is a final result and the
+ # breakpoint state will not change from here on.
+ "stackFrames": [ # The stack at breakpoint time, where stack_frames[0] represents the most
+ # recently entered function.
+ { # Represents a stack frame context.
+ "arguments": [ # Set of arguments passed to this function.
+ # Note that this might not be populated for all stack frames.
+ { # Represents a variable or an argument possibly of a compound object type.
+ # Note how the following variables are represented:
+ #
+ # 1) A simple variable:
+ #
+ # int x = 5
+ #
+ # { name: "x", value: "5", type: "int" } // Captured variable
+ #
+ # 2) A compound object:
+ #
+ # struct T {
+ # int m1;
+ # int m2;
+ # };
+ # T x = { 3, 7 };
+ #
+ # { // Captured variable
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 3) A pointer where the pointee was captured:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 4) A pointer where the pointee was not captured:
+ #
+ # T* p = new T;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
+ # }
+ #
+ # The status should describe the reason for the missing value,
+ # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
+ #
+ # Note that a null pointer should not have members.
+ #
+ # 5) An unnamed value:
+ #
+ # int* p = new int(7);
+ #
+ # { // Captured variable
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
+ #
+ # 6) An unnamed pointer where the pointee was not captured:
+ #
+ # int* p = new int(7);
+ # int** pp = &p;
+ #
+ # { // Captured variable
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
+ # members {
+ # value: "0x00400400",
+ # type: "int*"
+ # status {
+ # is_error: true,
+ # description: { format: "unavailable" } }
+ # }
+ # }
+ # }
+ #
+ # To optimize computation, memory and network traffic, variables that
+ # repeat in the output multiple times can be stored once in a shared
+ # variable table and be referenced using the `var_table_index` field. The
+ # variables stored in the shared table are nameless and are essentially
+ # a partition of the complete variable. To reconstruct the complete
+ # variable, merge the referencing variable with the referenced variable.
+ #
+ # When using the shared variable table, the following variables:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ # T& r = x;
+ #
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
+ #
+ # { // Shared variable table entry #3:
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # Note that the pointer address is stored with the referencing variable
+ # and not with the referenced variable. This allows the referenced variable
+ # to be shared between pointers and references.
+ #
+ # The type field is optional. The debugger agent may or may not support it.
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ # unset. A status of a single variable only applies to that variable or
+ # expression. The rest of breakpoint data still remains valid. Variables
+ # might be reported in error state even when breakpoint is not in final
+ # state.
+ #
+ # The message may refer to variable name with `refers_to` set to
+ # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
+ # In either case variable value and members will be unset.
+ #
+ # Example of error message applied to name: `Invalid expression syntax`.
+ #
+ # Example of information message applied to value: `Not captured`.
+ #
+ # Examples of error message applied to value:
+ #
+ # * `Malformed string`,
+ # * `Field f not found in class C`
+ # * `Null pointer dereference`
+ # 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`.
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
+ ],
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
+ # character.
+ #
+ # Examples:
+ #
+ # * `Failed to load '$0' which helps debug $1 the first time it
+ # is loaded. Again, $0 is very important.`
+ # * `Please pay $$10 to use $0 instead of $1.`
+ },
+ "refersTo": "A String", # Reference to which the message applies.
+ },
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ # `var_table_index`, `type` goes next to `value`. The interpretation of
+ # a type is agent specific. It is recommended to include the dynamic type
+ # rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
+ },
+ ],
+ "locals": [ # Set of local variables at the stack frame location.
+ # Note that this might not be populated for all stack frames.
+ { # Represents a variable or an argument possibly of a compound object type.
+ # Note how the following variables are represented:
+ #
+ # 1) A simple variable:
+ #
+ # int x = 5
+ #
+ # { name: "x", value: "5", type: "int" } // Captured variable
+ #
+ # 2) A compound object:
+ #
+ # struct T {
+ # int m1;
+ # int m2;
+ # };
+ # T x = { 3, 7 };
+ #
+ # { // Captured variable
+ # name: "x",
+ # type: "T",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 3) A pointer where the pointee was captured:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00500500",
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # 4) A pointer where the pointee was not captured:
+ #
+ # T* p = new T;
+ #
+ # { // Captured variable
+ # name: "p",
+ # type: "T*",
+ # value: "0x00400400"
+ # status { is_error: true, description { format: "unavailable" } }
+ # }
+ #
+ # The status should describe the reason for the missing value,
+ # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
+ #
+ # Note that a null pointer should not have members.
+ #
+ # 5) An unnamed value:
+ #
+ # int* p = new int(7);
+ #
+ # { // Captured variable
+ # name: "p",
+ # value: "0x00500500",
+ # type: "int*",
+ # members { value: "7", type: "int" } }
+ #
+ # 6) An unnamed pointer where the pointee was not captured:
+ #
+ # int* p = new int(7);
+ # int** pp = &p;
+ #
+ # { // Captured variable
+ # name: "pp",
+ # value: "0x00500500",
+ # type: "int**",
+ # members {
+ # value: "0x00400400",
+ # type: "int*"
+ # status {
+ # is_error: true,
+ # description: { format: "unavailable" } }
+ # }
+ # }
+ # }
+ #
+ # To optimize computation, memory and network traffic, variables that
+ # repeat in the output multiple times can be stored once in a shared
+ # variable table and be referenced using the `var_table_index` field. The
+ # variables stored in the shared table are nameless and are essentially
+ # a partition of the complete variable. To reconstruct the complete
+ # variable, merge the referencing variable with the referenced variable.
+ #
+ # When using the shared variable table, the following variables:
+ #
+ # T x = { 3, 7 };
+ # T* p = &x;
+ # T& r = x;
+ #
+ # { name: "x", var_table_index: 3, type: "T" } // Captured variables
+ # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
+ # { name: "r", type="T&", var_table_index: 3 }
+ #
+ # { // Shared variable table entry #3:
+ # members { name: "m1", value: "3", type: "int" },
+ # members { name: "m2", value: "7", type: "int" }
+ # }
+ #
+ # Note that the pointer address is stored with the referencing variable
+ # and not with the referenced variable. This allows the referenced variable
+ # to be shared between pointers and references.
+ #
+ # The type field is optional. The debugger agent may or may not support it.
+ "members": [ # Members contained or pointed to by the variable.
+ # Object with schema name: Variable
+ ],
+ "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
+ # unset. A status of a single variable only applies to that variable or
+ # expression. The rest of breakpoint data still remains valid. Variables
+ # might be reported in error state even when breakpoint is not in final
+ # state.
+ #
+ # The message may refer to variable name with `refers_to` set to
+ # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
+ # In either case variable value and members will be unset.
+ #
+ # Example of error message applied to name: `Invalid expression syntax`.
+ #
+ # Example of information message applied to value: `Not captured`.
+ #
+ # Examples of error message applied to value:
+ #
+ # * `Malformed string`,
+ # * `Field f not found in class C`
+ # * `Null pointer dereference`
+ # 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`.
+ "isError": True or False, # Distinguishes errors from informational messages.
+ "description": { # Represents a message with parameters. # Status message text.
+ "parameters": [ # Optional parameters to be embedded into the message.
+ "A String",
+ ],
+ "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
+ # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
+ # character.
+ #
+ # Examples:
+ #
+ # * `Failed to load '$0' which helps debug $1 the first time it
+ # is loaded. Again, $0 is very important.`
+ # * `Please pay $$10 to use $0 instead of $1.`
+ },
+ "refersTo": "A String", # Reference to which the message applies.
+ },
+ "name": "A String", # Name of the variable, if any.
+ "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
+ # `var_table_index`, `type` goes next to `value`. The interpretation of
+ # a type is agent specific. It is recommended to include the dynamic type
+ # rather than a static type of an object.
+ "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
+ # one variable can reference the same variable in the table. The
+ # `var_table_index` field is an index into `variable_table` in Breakpoint.
+ "value": "A String", # Simple value of the variable.
+ },
+ ],
+ "location": { # Represents a location in the source code. # Source location of the call site.
+ "path": "A String", # Path to the source file within the source context of the target binary.
+ "column": 42, # Column within a line. The first column in a line as the value `1`.
+ # Agents that do not support setting breakpoints on specific columns ignore
+ # this field.
+ "line": 42, # Line inside the file. The first line in the file has the value `1`.
+ },
+ "function": "A String", # Demangled function name at the call site.
+ },
+ ],
+ "condition": "A String", # Condition that triggers the breakpoint.
# The condition is a compound boolean expression composed using expressions
# in a programming language at the source location.
},