blob: 641c2cccd70a58306651a6f0bbfc753ab85e4689 [file] [log] [blame]
Takashi Matsuo06694102015-09-11 13:55:40 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -070075<h1><a href="clouddebugger_v2.html">Stackdriver Debugger API</a> . <a href="clouddebugger_v2.controller.html">controller</a> . <a href="clouddebugger_v2.controller.debuggees.html">debuggees</a> . <a href="clouddebugger_v2.controller.debuggees.breakpoints.html">breakpoints</a></h1>
Takashi Matsuo06694102015-09-11 13:55:40 -070076<h2>Instance Methods</h2>
77<p class="toc_element">
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -080078 <code><a href="#list">list(debuggeeId, successOnTimeout=None, waitToken=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040079<p class="firstline">Returns the list of all active breakpoints for the debuggee.</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070080<p class="toc_element">
81 <code><a href="#update">update(debuggeeId, id, body, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040082<p class="firstline">Updates the breakpoint state or mutable fields.</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070083<h3>Method Details</h3>
84<div class="method">
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -080085 <code class="details" id="list">list(debuggeeId, successOnTimeout=None, waitToken=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040086 <pre>Returns the list of all active breakpoints for the debuggee.
87
88The breakpoint specification (location, condition, and expression
89fields) is semantically immutable, although the field values may
90change. For example, an agent may update the location line number
91to reflect the actual line where the breakpoint was set, but this
92doesn't change the breakpoint semantics.
93
94This means that an agent does not need to check if a breakpoint has changed
95when it encounters the same breakpoint on a successive call.
96Moreover, an agent should remember the breakpoints that are completed
97until the controller removes them from the active list to avoid
98setting those breakpoints again.
Takashi Matsuo06694102015-09-11 13:55:40 -070099
100Args:
101 debuggeeId: string, Identifies the debuggee. (required)
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400102 successOnTimeout: boolean, If set to `true`, returns `google.rpc.Code.OK` status and sets the
103`wait_expired` response field to `true` when the server-selected timeout
104has expired (recommended).
105
106If set to `false`, returns `google.rpc.Code.ABORTED` status when the
107server-selected timeout has expired (deprecated).
108 waitToken: string, A wait token that, if specified, blocks the method call until the list
109of active breakpoints has changed, or a server selected timeout has
110expired. The value should be set from the last returned response.
Takashi Matsuo06694102015-09-11 13:55:40 -0700111 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400112 Allowed values
113 1 - v1 error format
114 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700115
116Returns:
117 An object of the form:
118
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800119 { # Response for listing active breakpoints.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400120 "waitExpired": True or False, # The `wait_expired` field is set to true by the server when the
121 # request times out and the field `success_on_timeout` is set to true.
122 "nextWaitToken": "A String", # A wait token that can be used in the next method call to block until
123 # the list of breakpoints changes.
124 "breakpoints": [ # List of all active breakpoints.
125 # The fields `id` and `location` are guaranteed to be set on each breakpoint.
Takashi Matsuo06694102015-09-11 13:55:40 -0700126 { # Represents the breakpoint specification, status and results.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400127 "status": { # Represents a contextual status message. # Breakpoint status.
128 #
129 # The status includes an error flag and a human readable message.
130 # This field is usually unset. The message can be either
131 # informational or an error message. Regardless, clients should always
132 # display the text message back to the user.
133 #
134 # Error status indicates complete failure of the breakpoint.
135 #
136 # Example (non-final state): `Still loading symbols...`
137 #
138 # Examples (final state):
139 #
140 # * `Invalid line number` referring to location
141 # * `Field f not found in class C` referring to condition
142 # The message can indicate an error or informational status, and refer to
143 # specific parts of the containing object.
144 # For example, the `Breakpoint.status` field can indicate an error referring
145 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700146 "isError": True or False, # Distinguishes errors from informational messages.
147 "refersTo": "A String", # Reference to which the message applies.
148 "description": { # Represents a message with parameters. # Status message text.
149 "parameters": [ # Optional parameters to be embedded into the message.
150 "A String",
151 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400152 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
153 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
154 # character.
155 #
156 # Examples:
157 #
158 # * `Failed to load '$0' which helps debug $1 the first time it
159 # is loaded. Again, $0 is very important.`
160 # * `Please pay $$10 to use $0 instead of $1.`
Takashi Matsuo06694102015-09-11 13:55:40 -0700161 },
162 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400163 "variableTable": [ # The `variable_table` exists to aid with computation, memory and network
164 # traffic optimization. It enables storing a variable once and reference
165 # it from multiple variables, including variables stored in the
166 # `variable_table` itself.
167 # For example, the same `this` object, which may appear at many levels of
168 # the stack, can have all of its data stored once in this table. The
169 # stack frame variables then would hold only a reference to it.
170 #
171 # The variable `var_table_index` field is an index into this repeated field.
172 # The stored objects are nameless and get their name from the referencing
173 # variable. The effective variable is a merge of the referencing variable
174 # and the referenced variable.
175 { # Represents a variable or an argument possibly of a compound object type.
176 # Note how the following variables are represented:
177 #
178 # 1) A simple variable:
179 #
180 # int x = 5
181 #
182 # { name: "x", value: "5", type: "int" } // Captured variable
183 #
184 # 2) A compound object:
185 #
186 # struct T {
187 # int m1;
188 # int m2;
189 # };
190 # T x = { 3, 7 };
191 #
192 # { // Captured variable
193 # name: "x",
194 # type: "T",
195 # members { name: "m1", value: "3", type: "int" },
196 # members { name: "m2", value: "7", type: "int" }
197 # }
198 #
199 # 3) A pointer where the pointee was captured:
200 #
201 # T x = { 3, 7 };
202 # T* p = &x;
203 #
204 # { // Captured variable
205 # name: "p",
206 # type: "T*",
207 # value: "0x00500500",
208 # members { name: "m1", value: "3", type: "int" },
209 # members { name: "m2", value: "7", type: "int" }
210 # }
211 #
212 # 4) A pointer where the pointee was not captured:
213 #
214 # T* p = new T;
215 #
216 # { // Captured variable
217 # name: "p",
218 # type: "T*",
219 # value: "0x00400400"
220 # status { is_error: true, description { format: "unavailable" } }
221 # }
222 #
223 # The status should describe the reason for the missing value,
224 # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
225 #
226 # Note that a null pointer should not have members.
227 #
228 # 5) An unnamed value:
229 #
230 # int* p = new int(7);
231 #
232 # { // Captured variable
233 # name: "p",
234 # value: "0x00500500",
235 # type: "int*",
236 # members { value: "7", type: "int" } }
237 #
238 # 6) An unnamed pointer where the pointee was not captured:
239 #
240 # int* p = new int(7);
241 # int** pp = &p;
242 #
243 # { // Captured variable
244 # name: "pp",
245 # value: "0x00500500",
246 # type: "int**",
247 # members {
248 # value: "0x00400400",
249 # type: "int*"
250 # status {
251 # is_error: true,
252 # description: { format: "unavailable" } }
253 # }
254 # }
255 # }
256 #
257 # To optimize computation, memory and network traffic, variables that
258 # repeat in the output multiple times can be stored once in a shared
259 # variable table and be referenced using the `var_table_index` field. The
260 # variables stored in the shared table are nameless and are essentially
261 # a partition of the complete variable. To reconstruct the complete
262 # variable, merge the referencing variable with the referenced variable.
263 #
264 # When using the shared variable table, the following variables:
265 #
266 # T x = { 3, 7 };
267 # T* p = &x;
268 # T& r = x;
269 #
270 # { name: "x", var_table_index: 3, type: "T" } // Captured variables
271 # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
272 # { name: "r", type="T&", var_table_index: 3 }
273 #
274 # { // Shared variable table entry #3:
275 # members { name: "m1", value: "3", type: "int" },
276 # members { name: "m2", value: "7", type: "int" }
277 # }
278 #
279 # Note that the pointer address is stored with the referencing variable
280 # and not with the referenced variable. This allows the referenced variable
281 # to be shared between pointers and references.
282 #
283 # The type field is optional. The debugger agent may or may not support it.
284 "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
285 # unset. A status of a single variable only applies to that variable or
286 # expression. The rest of breakpoint data still remains valid. Variables
287 # might be reported in error state even when breakpoint is not in final
288 # state.
289 #
290 # The message may refer to variable name with `refers_to` set to
291 # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
292 # In either case variable value and members will be unset.
293 #
294 # Example of error message applied to name: `Invalid expression syntax`.
295 #
296 # Example of information message applied to value: `Not captured`.
297 #
298 # Examples of error message applied to value:
299 #
300 # * `Malformed string`,
301 # * `Field f not found in class C`
302 # * `Null pointer dereference`
303 # The message can indicate an error or informational status, and refer to
304 # specific parts of the containing object.
305 # For example, the `Breakpoint.status` field can indicate an error referring
306 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700307 "isError": True or False, # Distinguishes errors from informational messages.
308 "refersTo": "A String", # Reference to which the message applies.
309 "description": { # Represents a message with parameters. # Status message text.
310 "parameters": [ # Optional parameters to be embedded into the message.
311 "A String",
312 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400313 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
314 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
315 # character.
316 #
317 # Examples:
318 #
319 # * `Failed to load '$0' which helps debug $1 the first time it
320 # is loaded. Again, $0 is very important.`
321 # * `Please pay $$10 to use $0 instead of $1.`
Takashi Matsuo06694102015-09-11 13:55:40 -0700322 },
323 },
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800324 "name": "A String", # Name of the variable, if any.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400325 "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
326 # one variable can reference the same variable in the table. The
327 # `var_table_index` field is an index into `variable_table` in Breakpoint.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800328 "value": "A String", # Simple value of the variable.
329 "members": [ # Members contained or pointed to by the variable.
330 # Object with schema name: Variable
331 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400332 "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
333 # `var_table_index`, `type` goes next to `value`. The interpretation of
334 # a type is agent specific. It is recommended to include the dynamic type
335 # rather than a static type of an object.
Takashi Matsuo06694102015-09-11 13:55:40 -0700336 },
337 ],
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400338 "userEmail": "A String", # E-mail address of the user that created this breakpoint
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800339 "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400340 "labels": { # A set of custom breakpoint properties, populated by the agent, to be
341 # displayed to the user.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700342 "a_key": "A String",
343 },
Takashi Matsuo06694102015-09-11 13:55:40 -0700344 "stackFrames": [ # The stack at breakpoint time.
345 { # Represents a stack frame context.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800346 "function": "A String", # Demangled function name at the call site.
Thomas Coffee2f245372017-03-27 10:39:26 -0700347 "arguments": [ # Set of arguments passed to this function.
348 # Note that this might not be populated for all stack frames.
349 { # Represents a variable or an argument possibly of a compound object type.
350 # Note how the following variables are represented:
351 #
352 # 1) A simple variable:
353 #
354 # int x = 5
355 #
356 # { name: "x", value: "5", type: "int" } // Captured variable
357 #
358 # 2) A compound object:
359 #
360 # struct T {
361 # int m1;
362 # int m2;
363 # };
364 # T x = { 3, 7 };
365 #
366 # { // Captured variable
367 # name: "x",
368 # type: "T",
369 # members { name: "m1", value: "3", type: "int" },
370 # members { name: "m2", value: "7", type: "int" }
371 # }
372 #
373 # 3) A pointer where the pointee was captured:
374 #
375 # T x = { 3, 7 };
376 # T* p = &x;
377 #
378 # { // Captured variable
379 # name: "p",
380 # type: "T*",
381 # value: "0x00500500",
382 # members { name: "m1", value: "3", type: "int" },
383 # members { name: "m2", value: "7", type: "int" }
384 # }
385 #
386 # 4) A pointer where the pointee was not captured:
387 #
388 # T* p = new T;
389 #
390 # { // Captured variable
391 # name: "p",
392 # type: "T*",
393 # value: "0x00400400"
394 # status { is_error: true, description { format: "unavailable" } }
395 # }
396 #
397 # The status should describe the reason for the missing value,
398 # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
399 #
400 # Note that a null pointer should not have members.
401 #
402 # 5) An unnamed value:
403 #
404 # int* p = new int(7);
405 #
406 # { // Captured variable
407 # name: "p",
408 # value: "0x00500500",
409 # type: "int*",
410 # members { value: "7", type: "int" } }
411 #
412 # 6) An unnamed pointer where the pointee was not captured:
413 #
414 # int* p = new int(7);
415 # int** pp = &p;
416 #
417 # { // Captured variable
418 # name: "pp",
419 # value: "0x00500500",
420 # type: "int**",
421 # members {
422 # value: "0x00400400",
423 # type: "int*"
424 # status {
425 # is_error: true,
426 # description: { format: "unavailable" } }
427 # }
428 # }
429 # }
430 #
431 # To optimize computation, memory and network traffic, variables that
432 # repeat in the output multiple times can be stored once in a shared
433 # variable table and be referenced using the `var_table_index` field. The
434 # variables stored in the shared table are nameless and are essentially
435 # a partition of the complete variable. To reconstruct the complete
436 # variable, merge the referencing variable with the referenced variable.
437 #
438 # When using the shared variable table, the following variables:
439 #
440 # T x = { 3, 7 };
441 # T* p = &x;
442 # T& r = x;
443 #
444 # { name: "x", var_table_index: 3, type: "T" } // Captured variables
445 # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
446 # { name: "r", type="T&", var_table_index: 3 }
447 #
448 # { // Shared variable table entry #3:
449 # members { name: "m1", value: "3", type: "int" },
450 # members { name: "m2", value: "7", type: "int" }
451 # }
452 #
453 # Note that the pointer address is stored with the referencing variable
454 # and not with the referenced variable. This allows the referenced variable
455 # to be shared between pointers and references.
456 #
457 # The type field is optional. The debugger agent may or may not support it.
458 "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
459 # unset. A status of a single variable only applies to that variable or
460 # expression. The rest of breakpoint data still remains valid. Variables
461 # might be reported in error state even when breakpoint is not in final
462 # state.
463 #
464 # The message may refer to variable name with `refers_to` set to
465 # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
466 # In either case variable value and members will be unset.
467 #
468 # Example of error message applied to name: `Invalid expression syntax`.
469 #
470 # Example of information message applied to value: `Not captured`.
471 #
472 # Examples of error message applied to value:
473 #
474 # * `Malformed string`,
475 # * `Field f not found in class C`
476 # * `Null pointer dereference`
477 # The message can indicate an error or informational status, and refer to
478 # specific parts of the containing object.
479 # For example, the `Breakpoint.status` field can indicate an error referring
480 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
481 "isError": True or False, # Distinguishes errors from informational messages.
482 "refersTo": "A String", # Reference to which the message applies.
483 "description": { # Represents a message with parameters. # Status message text.
484 "parameters": [ # Optional parameters to be embedded into the message.
485 "A String",
486 ],
487 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
488 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
489 # character.
490 #
491 # Examples:
492 #
493 # * `Failed to load '$0' which helps debug $1 the first time it
494 # is loaded. Again, $0 is very important.`
495 # * `Please pay $$10 to use $0 instead of $1.`
496 },
497 },
498 "name": "A String", # Name of the variable, if any.
499 "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
500 # one variable can reference the same variable in the table. The
501 # `var_table_index` field is an index into `variable_table` in Breakpoint.
502 "value": "A String", # Simple value of the variable.
503 "members": [ # Members contained or pointed to by the variable.
504 # Object with schema name: Variable
505 ],
506 "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
507 # `var_table_index`, `type` goes next to `value`. The interpretation of
508 # a type is agent specific. It is recommended to include the dynamic type
509 # rather than a static type of an object.
510 },
511 ],
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400512 "locals": [ # Set of local variables at the stack frame location.
513 # Note that this might not be populated for all stack frames.
514 { # Represents a variable or an argument possibly of a compound object type.
515 # Note how the following variables are represented:
516 #
517 # 1) A simple variable:
518 #
519 # int x = 5
520 #
521 # { name: "x", value: "5", type: "int" } // Captured variable
522 #
523 # 2) A compound object:
524 #
525 # struct T {
526 # int m1;
527 # int m2;
528 # };
529 # T x = { 3, 7 };
530 #
531 # { // Captured variable
532 # name: "x",
533 # type: "T",
534 # members { name: "m1", value: "3", type: "int" },
535 # members { name: "m2", value: "7", type: "int" }
536 # }
537 #
538 # 3) A pointer where the pointee was captured:
539 #
540 # T x = { 3, 7 };
541 # T* p = &x;
542 #
543 # { // Captured variable
544 # name: "p",
545 # type: "T*",
546 # value: "0x00500500",
547 # members { name: "m1", value: "3", type: "int" },
548 # members { name: "m2", value: "7", type: "int" }
549 # }
550 #
551 # 4) A pointer where the pointee was not captured:
552 #
553 # T* p = new T;
554 #
555 # { // Captured variable
556 # name: "p",
557 # type: "T*",
558 # value: "0x00400400"
559 # status { is_error: true, description { format: "unavailable" } }
560 # }
561 #
562 # The status should describe the reason for the missing value,
563 # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
564 #
565 # Note that a null pointer should not have members.
566 #
567 # 5) An unnamed value:
568 #
569 # int* p = new int(7);
570 #
571 # { // Captured variable
572 # name: "p",
573 # value: "0x00500500",
574 # type: "int*",
575 # members { value: "7", type: "int" } }
576 #
577 # 6) An unnamed pointer where the pointee was not captured:
578 #
579 # int* p = new int(7);
580 # int** pp = &p;
581 #
582 # { // Captured variable
583 # name: "pp",
584 # value: "0x00500500",
585 # type: "int**",
586 # members {
587 # value: "0x00400400",
588 # type: "int*"
589 # status {
590 # is_error: true,
591 # description: { format: "unavailable" } }
592 # }
593 # }
594 # }
595 #
596 # To optimize computation, memory and network traffic, variables that
597 # repeat in the output multiple times can be stored once in a shared
598 # variable table and be referenced using the `var_table_index` field. The
599 # variables stored in the shared table are nameless and are essentially
600 # a partition of the complete variable. To reconstruct the complete
601 # variable, merge the referencing variable with the referenced variable.
602 #
603 # When using the shared variable table, the following variables:
604 #
605 # T x = { 3, 7 };
606 # T* p = &x;
607 # T& r = x;
608 #
609 # { name: "x", var_table_index: 3, type: "T" } // Captured variables
610 # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
611 # { name: "r", type="T&", var_table_index: 3 }
612 #
613 # { // Shared variable table entry #3:
614 # members { name: "m1", value: "3", type: "int" },
615 # members { name: "m2", value: "7", type: "int" }
616 # }
617 #
618 # Note that the pointer address is stored with the referencing variable
619 # and not with the referenced variable. This allows the referenced variable
620 # to be shared between pointers and references.
621 #
622 # The type field is optional. The debugger agent may or may not support it.
623 "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
624 # unset. A status of a single variable only applies to that variable or
625 # expression. The rest of breakpoint data still remains valid. Variables
626 # might be reported in error state even when breakpoint is not in final
627 # state.
628 #
629 # The message may refer to variable name with `refers_to` set to
630 # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
631 # In either case variable value and members will be unset.
632 #
633 # Example of error message applied to name: `Invalid expression syntax`.
634 #
635 # Example of information message applied to value: `Not captured`.
636 #
637 # Examples of error message applied to value:
638 #
639 # * `Malformed string`,
640 # * `Field f not found in class C`
641 # * `Null pointer dereference`
642 # The message can indicate an error or informational status, and refer to
643 # specific parts of the containing object.
644 # For example, the `Breakpoint.status` field can indicate an error referring
645 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
646 "isError": True or False, # Distinguishes errors from informational messages.
647 "refersTo": "A String", # Reference to which the message applies.
648 "description": { # Represents a message with parameters. # Status message text.
649 "parameters": [ # Optional parameters to be embedded into the message.
650 "A String",
651 ],
652 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
653 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
654 # character.
655 #
656 # Examples:
657 #
658 # * `Failed to load '$0' which helps debug $1 the first time it
659 # is loaded. Again, $0 is very important.`
660 # * `Please pay $$10 to use $0 instead of $1.`
661 },
662 },
663 "name": "A String", # Name of the variable, if any.
664 "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
665 # one variable can reference the same variable in the table. The
666 # `var_table_index` field is an index into `variable_table` in Breakpoint.
667 "value": "A String", # Simple value of the variable.
668 "members": [ # Members contained or pointed to by the variable.
669 # Object with schema name: Variable
670 ],
671 "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
672 # `var_table_index`, `type` goes next to `value`. The interpretation of
673 # a type is agent specific. It is recommended to include the dynamic type
674 # rather than a static type of an object.
675 },
676 ],
677 "location": { # Represents a location in the source code. # Source location of the call site.
678 "path": "A String", # Path to the source file within the source context of the target binary.
679 "line": 42, # Line inside the file. The first line in the file has the value `1`.
680 },
Takashi Matsuo06694102015-09-11 13:55:40 -0700681 },
682 ],
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400683 "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400684 "expressions": [ # List of read-only expressions to evaluate at the breakpoint location.
685 # The expressions are composed using expressions in the programming language
686 # at the source location. If the breakpoint action is `LOG`, the evaluated
687 # expressions are included in log statements.
Takashi Matsuo06694102015-09-11 13:55:40 -0700688 "A String",
689 ],
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -0400690 "location": { # Represents a location in the source code. # Breakpoint source location.
691 "path": "A String", # Path to the source file within the source context of the target binary.
692 "line": 42, # Line inside the file. The first line in the file has the value `1`.
693 },
694 "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
695 # resolution.
696 "action": "A String", # Action that the agent should perform when the code at the
697 # breakpoint location is hit.
698 "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when
699 # the breakpoint hits. The message may include parameter placeholders `$0`,
700 # `$1`, etc. These placeholders are replaced with the evaluated value
701 # of the appropriate expression. Expressions not referenced in
702 # `log_message_format` are not logged.
703 #
704 # Example: `Message received, id = $0, count = $1` with
705 # `expressions` = `[ message.id, message.count ]`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400706 "isFinalState": True or False, # When true, indicates that this is a final result and the
707 # breakpoint state will not change from here on.
708 "evaluatedExpressions": [ # Values of evaluated expressions at breakpoint time.
709 # The evaluated expressions appear in exactly the same order they
710 # are listed in the `expressions` field.
711 # The `name` field holds the original expression text, the `value` or
712 # `members` field holds the result of the evaluated expression.
713 # If the expression cannot be evaluated, the `status` inside the `Variable`
714 # will indicate an error and contain the error text.
715 { # Represents a variable or an argument possibly of a compound object type.
716 # Note how the following variables are represented:
717 #
718 # 1) A simple variable:
719 #
720 # int x = 5
721 #
722 # { name: "x", value: "5", type: "int" } // Captured variable
723 #
724 # 2) A compound object:
725 #
726 # struct T {
727 # int m1;
728 # int m2;
729 # };
730 # T x = { 3, 7 };
731 #
732 # { // Captured variable
733 # name: "x",
734 # type: "T",
735 # members { name: "m1", value: "3", type: "int" },
736 # members { name: "m2", value: "7", type: "int" }
737 # }
738 #
739 # 3) A pointer where the pointee was captured:
740 #
741 # T x = { 3, 7 };
742 # T* p = &x;
743 #
744 # { // Captured variable
745 # name: "p",
746 # type: "T*",
747 # value: "0x00500500",
748 # members { name: "m1", value: "3", type: "int" },
749 # members { name: "m2", value: "7", type: "int" }
750 # }
751 #
752 # 4) A pointer where the pointee was not captured:
753 #
754 # T* p = new T;
755 #
756 # { // Captured variable
757 # name: "p",
758 # type: "T*",
759 # value: "0x00400400"
760 # status { is_error: true, description { format: "unavailable" } }
761 # }
762 #
763 # The status should describe the reason for the missing value,
764 # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
765 #
766 # Note that a null pointer should not have members.
767 #
768 # 5) An unnamed value:
769 #
770 # int* p = new int(7);
771 #
772 # { // Captured variable
773 # name: "p",
774 # value: "0x00500500",
775 # type: "int*",
776 # members { value: "7", type: "int" } }
777 #
778 # 6) An unnamed pointer where the pointee was not captured:
779 #
780 # int* p = new int(7);
781 # int** pp = &p;
782 #
783 # { // Captured variable
784 # name: "pp",
785 # value: "0x00500500",
786 # type: "int**",
787 # members {
788 # value: "0x00400400",
789 # type: "int*"
790 # status {
791 # is_error: true,
792 # description: { format: "unavailable" } }
793 # }
794 # }
795 # }
796 #
797 # To optimize computation, memory and network traffic, variables that
798 # repeat in the output multiple times can be stored once in a shared
799 # variable table and be referenced using the `var_table_index` field. The
800 # variables stored in the shared table are nameless and are essentially
801 # a partition of the complete variable. To reconstruct the complete
802 # variable, merge the referencing variable with the referenced variable.
803 #
804 # When using the shared variable table, the following variables:
805 #
806 # T x = { 3, 7 };
807 # T* p = &x;
808 # T& r = x;
809 #
810 # { name: "x", var_table_index: 3, type: "T" } // Captured variables
811 # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
812 # { name: "r", type="T&", var_table_index: 3 }
813 #
814 # { // Shared variable table entry #3:
815 # members { name: "m1", value: "3", type: "int" },
816 # members { name: "m2", value: "7", type: "int" }
817 # }
818 #
819 # Note that the pointer address is stored with the referencing variable
820 # and not with the referenced variable. This allows the referenced variable
821 # to be shared between pointers and references.
822 #
823 # The type field is optional. The debugger agent may or may not support it.
824 "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
825 # unset. A status of a single variable only applies to that variable or
826 # expression. The rest of breakpoint data still remains valid. Variables
827 # might be reported in error state even when breakpoint is not in final
828 # state.
829 #
830 # The message may refer to variable name with `refers_to` set to
831 # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
832 # In either case variable value and members will be unset.
833 #
834 # Example of error message applied to name: `Invalid expression syntax`.
835 #
836 # Example of information message applied to value: `Not captured`.
837 #
838 # Examples of error message applied to value:
839 #
840 # * `Malformed string`,
841 # * `Field f not found in class C`
842 # * `Null pointer dereference`
843 # The message can indicate an error or informational status, and refer to
844 # specific parts of the containing object.
845 # For example, the `Breakpoint.status` field can indicate an error referring
846 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700847 "isError": True or False, # Distinguishes errors from informational messages.
848 "refersTo": "A String", # Reference to which the message applies.
849 "description": { # Represents a message with parameters. # Status message text.
850 "parameters": [ # Optional parameters to be embedded into the message.
851 "A String",
852 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400853 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
854 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
855 # character.
856 #
857 # Examples:
858 #
859 # * `Failed to load '$0' which helps debug $1 the first time it
860 # is loaded. Again, $0 is very important.`
861 # * `Please pay $$10 to use $0 instead of $1.`
Takashi Matsuo06694102015-09-11 13:55:40 -0700862 },
863 },
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800864 "name": "A String", # Name of the variable, if any.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400865 "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
866 # one variable can reference the same variable in the table. The
867 # `var_table_index` field is an index into `variable_table` in Breakpoint.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800868 "value": "A String", # Simple value of the variable.
869 "members": [ # Members contained or pointed to by the variable.
870 # Object with schema name: Variable
871 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400872 "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
873 # `var_table_index`, `type` goes next to `value`. The interpretation of
874 # a type is agent specific. It is recommended to include the dynamic type
875 # rather than a static type of an object.
Takashi Matsuo06694102015-09-11 13:55:40 -0700876 },
877 ],
878 "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400879 "condition": "A String", # Condition that triggers the breakpoint.
880 # The condition is a compound boolean expression composed using expressions
881 # in a programming language at the source location.
Takashi Matsuo06694102015-09-11 13:55:40 -0700882 },
883 ],
884 }</pre>
885</div>
886
887<div class="method">
888 <code class="details" id="update">update(debuggeeId, id, body, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400889 <pre>Updates the breakpoint state or mutable fields.
890The entire Breakpoint message must be sent back to the controller
891service.
892
893Updates to active breakpoint fields are only allowed if the new value
894does not change the breakpoint specification. Updates to the `location`,
895`condition` and `expression` fields should not alter the breakpoint
896semantics. These may only make changes such as canonicalizing a value
897or snapping the location to the correct line of code.
Takashi Matsuo06694102015-09-11 13:55:40 -0700898
899Args:
900 debuggeeId: string, Identifies the debuggee being debugged. (required)
901 id: string, Breakpoint identifier, unique in the scope of the debuggee. (required)
902 body: object, The request body. (required)
903 The object takes the form of:
904
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -0800905{ # Request to update an active breakpoint.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400906 "breakpoint": { # Represents the breakpoint specification, status and results. # Updated breakpoint information.
907 # The field 'id' must be set.
908 "status": { # Represents a contextual status message. # Breakpoint status.
909 #
910 # The status includes an error flag and a human readable message.
911 # This field is usually unset. The message can be either
912 # informational or an error message. Regardless, clients should always
913 # display the text message back to the user.
914 #
915 # Error status indicates complete failure of the breakpoint.
916 #
917 # Example (non-final state): `Still loading symbols...`
918 #
919 # Examples (final state):
920 #
921 # * `Invalid line number` referring to location
922 # * `Field f not found in class C` referring to condition
923 # The message can indicate an error or informational status, and refer to
924 # specific parts of the containing object.
925 # For example, the `Breakpoint.status` field can indicate an error referring
926 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700927 "isError": True or False, # Distinguishes errors from informational messages.
928 "refersTo": "A String", # Reference to which the message applies.
929 "description": { # Represents a message with parameters. # Status message text.
930 "parameters": [ # Optional parameters to be embedded into the message.
931 "A String",
932 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400933 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
934 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
935 # character.
936 #
937 # Examples:
938 #
939 # * `Failed to load '$0' which helps debug $1 the first time it
940 # is loaded. Again, $0 is very important.`
941 # * `Please pay $$10 to use $0 instead of $1.`
Takashi Matsuo06694102015-09-11 13:55:40 -0700942 },
943 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400944 "variableTable": [ # The `variable_table` exists to aid with computation, memory and network
945 # traffic optimization. It enables storing a variable once and reference
946 # it from multiple variables, including variables stored in the
947 # `variable_table` itself.
948 # For example, the same `this` object, which may appear at many levels of
949 # the stack, can have all of its data stored once in this table. The
950 # stack frame variables then would hold only a reference to it.
951 #
952 # The variable `var_table_index` field is an index into this repeated field.
953 # The stored objects are nameless and get their name from the referencing
954 # variable. The effective variable is a merge of the referencing variable
955 # and the referenced variable.
956 { # Represents a variable or an argument possibly of a compound object type.
957 # Note how the following variables are represented:
958 #
959 # 1) A simple variable:
960 #
961 # int x = 5
962 #
963 # { name: "x", value: "5", type: "int" } // Captured variable
964 #
965 # 2) A compound object:
966 #
967 # struct T {
968 # int m1;
969 # int m2;
970 # };
971 # T x = { 3, 7 };
972 #
973 # { // Captured variable
974 # name: "x",
975 # type: "T",
976 # members { name: "m1", value: "3", type: "int" },
977 # members { name: "m2", value: "7", type: "int" }
978 # }
979 #
980 # 3) A pointer where the pointee was captured:
981 #
982 # T x = { 3, 7 };
983 # T* p = &x;
984 #
985 # { // Captured variable
986 # name: "p",
987 # type: "T*",
988 # value: "0x00500500",
989 # members { name: "m1", value: "3", type: "int" },
990 # members { name: "m2", value: "7", type: "int" }
991 # }
992 #
993 # 4) A pointer where the pointee was not captured:
994 #
995 # T* p = new T;
996 #
997 # { // Captured variable
998 # name: "p",
999 # type: "T*",
1000 # value: "0x00400400"
1001 # status { is_error: true, description { format: "unavailable" } }
1002 # }
1003 #
1004 # The status should describe the reason for the missing value,
1005 # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
1006 #
1007 # Note that a null pointer should not have members.
1008 #
1009 # 5) An unnamed value:
1010 #
1011 # int* p = new int(7);
1012 #
1013 # { // Captured variable
1014 # name: "p",
1015 # value: "0x00500500",
1016 # type: "int*",
1017 # members { value: "7", type: "int" } }
1018 #
1019 # 6) An unnamed pointer where the pointee was not captured:
1020 #
1021 # int* p = new int(7);
1022 # int** pp = &p;
1023 #
1024 # { // Captured variable
1025 # name: "pp",
1026 # value: "0x00500500",
1027 # type: "int**",
1028 # members {
1029 # value: "0x00400400",
1030 # type: "int*"
1031 # status {
1032 # is_error: true,
1033 # description: { format: "unavailable" } }
1034 # }
1035 # }
1036 # }
1037 #
1038 # To optimize computation, memory and network traffic, variables that
1039 # repeat in the output multiple times can be stored once in a shared
1040 # variable table and be referenced using the `var_table_index` field. The
1041 # variables stored in the shared table are nameless and are essentially
1042 # a partition of the complete variable. To reconstruct the complete
1043 # variable, merge the referencing variable with the referenced variable.
1044 #
1045 # When using the shared variable table, the following variables:
1046 #
1047 # T x = { 3, 7 };
1048 # T* p = &x;
1049 # T& r = x;
1050 #
1051 # { name: "x", var_table_index: 3, type: "T" } // Captured variables
1052 # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
1053 # { name: "r", type="T&", var_table_index: 3 }
1054 #
1055 # { // Shared variable table entry #3:
1056 # members { name: "m1", value: "3", type: "int" },
1057 # members { name: "m2", value: "7", type: "int" }
1058 # }
1059 #
1060 # Note that the pointer address is stored with the referencing variable
1061 # and not with the referenced variable. This allows the referenced variable
1062 # to be shared between pointers and references.
1063 #
1064 # The type field is optional. The debugger agent may or may not support it.
1065 "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
1066 # unset. A status of a single variable only applies to that variable or
1067 # expression. The rest of breakpoint data still remains valid. Variables
1068 # might be reported in error state even when breakpoint is not in final
1069 # state.
1070 #
1071 # The message may refer to variable name with `refers_to` set to
1072 # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
1073 # In either case variable value and members will be unset.
1074 #
1075 # Example of error message applied to name: `Invalid expression syntax`.
1076 #
1077 # Example of information message applied to value: `Not captured`.
1078 #
1079 # Examples of error message applied to value:
1080 #
1081 # * `Malformed string`,
1082 # * `Field f not found in class C`
1083 # * `Null pointer dereference`
1084 # The message can indicate an error or informational status, and refer to
1085 # specific parts of the containing object.
1086 # For example, the `Breakpoint.status` field can indicate an error referring
1087 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
Takashi Matsuo06694102015-09-11 13:55:40 -07001088 "isError": True or False, # Distinguishes errors from informational messages.
1089 "refersTo": "A String", # Reference to which the message applies.
1090 "description": { # Represents a message with parameters. # Status message text.
1091 "parameters": [ # Optional parameters to be embedded into the message.
1092 "A String",
1093 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001094 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
1095 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
1096 # character.
1097 #
1098 # Examples:
1099 #
1100 # * `Failed to load '$0' which helps debug $1 the first time it
1101 # is loaded. Again, $0 is very important.`
1102 # * `Please pay $$10 to use $0 instead of $1.`
Takashi Matsuo06694102015-09-11 13:55:40 -07001103 },
1104 },
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001105 "name": "A String", # Name of the variable, if any.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001106 "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
1107 # one variable can reference the same variable in the table. The
1108 # `var_table_index` field is an index into `variable_table` in Breakpoint.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001109 "value": "A String", # Simple value of the variable.
1110 "members": [ # Members contained or pointed to by the variable.
1111 # Object with schema name: Variable
1112 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001113 "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
1114 # `var_table_index`, `type` goes next to `value`. The interpretation of
1115 # a type is agent specific. It is recommended to include the dynamic type
1116 # rather than a static type of an object.
Takashi Matsuo06694102015-09-11 13:55:40 -07001117 },
1118 ],
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -04001119 "userEmail": "A String", # E-mail address of the user that created this breakpoint
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001120 "logLevel": "A String", # Indicates the severity of the log. Only relevant when action is `LOG`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001121 "labels": { # A set of custom breakpoint properties, populated by the agent, to be
1122 # displayed to the user.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -07001123 "a_key": "A String",
1124 },
Takashi Matsuo06694102015-09-11 13:55:40 -07001125 "stackFrames": [ # The stack at breakpoint time.
1126 { # Represents a stack frame context.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001127 "function": "A String", # Demangled function name at the call site.
Thomas Coffee2f245372017-03-27 10:39:26 -07001128 "arguments": [ # Set of arguments passed to this function.
1129 # Note that this might not be populated for all stack frames.
1130 { # Represents a variable or an argument possibly of a compound object type.
1131 # Note how the following variables are represented:
1132 #
1133 # 1) A simple variable:
1134 #
1135 # int x = 5
1136 #
1137 # { name: "x", value: "5", type: "int" } // Captured variable
1138 #
1139 # 2) A compound object:
1140 #
1141 # struct T {
1142 # int m1;
1143 # int m2;
1144 # };
1145 # T x = { 3, 7 };
1146 #
1147 # { // Captured variable
1148 # name: "x",
1149 # type: "T",
1150 # members { name: "m1", value: "3", type: "int" },
1151 # members { name: "m2", value: "7", type: "int" }
1152 # }
1153 #
1154 # 3) A pointer where the pointee was captured:
1155 #
1156 # T x = { 3, 7 };
1157 # T* p = &x;
1158 #
1159 # { // Captured variable
1160 # name: "p",
1161 # type: "T*",
1162 # value: "0x00500500",
1163 # members { name: "m1", value: "3", type: "int" },
1164 # members { name: "m2", value: "7", type: "int" }
1165 # }
1166 #
1167 # 4) A pointer where the pointee was not captured:
1168 #
1169 # T* p = new T;
1170 #
1171 # { // Captured variable
1172 # name: "p",
1173 # type: "T*",
1174 # value: "0x00400400"
1175 # status { is_error: true, description { format: "unavailable" } }
1176 # }
1177 #
1178 # The status should describe the reason for the missing value,
1179 # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
1180 #
1181 # Note that a null pointer should not have members.
1182 #
1183 # 5) An unnamed value:
1184 #
1185 # int* p = new int(7);
1186 #
1187 # { // Captured variable
1188 # name: "p",
1189 # value: "0x00500500",
1190 # type: "int*",
1191 # members { value: "7", type: "int" } }
1192 #
1193 # 6) An unnamed pointer where the pointee was not captured:
1194 #
1195 # int* p = new int(7);
1196 # int** pp = &p;
1197 #
1198 # { // Captured variable
1199 # name: "pp",
1200 # value: "0x00500500",
1201 # type: "int**",
1202 # members {
1203 # value: "0x00400400",
1204 # type: "int*"
1205 # status {
1206 # is_error: true,
1207 # description: { format: "unavailable" } }
1208 # }
1209 # }
1210 # }
1211 #
1212 # To optimize computation, memory and network traffic, variables that
1213 # repeat in the output multiple times can be stored once in a shared
1214 # variable table and be referenced using the `var_table_index` field. The
1215 # variables stored in the shared table are nameless and are essentially
1216 # a partition of the complete variable. To reconstruct the complete
1217 # variable, merge the referencing variable with the referenced variable.
1218 #
1219 # When using the shared variable table, the following variables:
1220 #
1221 # T x = { 3, 7 };
1222 # T* p = &x;
1223 # T& r = x;
1224 #
1225 # { name: "x", var_table_index: 3, type: "T" } // Captured variables
1226 # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
1227 # { name: "r", type="T&", var_table_index: 3 }
1228 #
1229 # { // Shared variable table entry #3:
1230 # members { name: "m1", value: "3", type: "int" },
1231 # members { name: "m2", value: "7", type: "int" }
1232 # }
1233 #
1234 # Note that the pointer address is stored with the referencing variable
1235 # and not with the referenced variable. This allows the referenced variable
1236 # to be shared between pointers and references.
1237 #
1238 # The type field is optional. The debugger agent may or may not support it.
1239 "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
1240 # unset. A status of a single variable only applies to that variable or
1241 # expression. The rest of breakpoint data still remains valid. Variables
1242 # might be reported in error state even when breakpoint is not in final
1243 # state.
1244 #
1245 # The message may refer to variable name with `refers_to` set to
1246 # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
1247 # In either case variable value and members will be unset.
1248 #
1249 # Example of error message applied to name: `Invalid expression syntax`.
1250 #
1251 # Example of information message applied to value: `Not captured`.
1252 #
1253 # Examples of error message applied to value:
1254 #
1255 # * `Malformed string`,
1256 # * `Field f not found in class C`
1257 # * `Null pointer dereference`
1258 # The message can indicate an error or informational status, and refer to
1259 # specific parts of the containing object.
1260 # For example, the `Breakpoint.status` field can indicate an error referring
1261 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
1262 "isError": True or False, # Distinguishes errors from informational messages.
1263 "refersTo": "A String", # Reference to which the message applies.
1264 "description": { # Represents a message with parameters. # Status message text.
1265 "parameters": [ # Optional parameters to be embedded into the message.
1266 "A String",
1267 ],
1268 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
1269 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
1270 # character.
1271 #
1272 # Examples:
1273 #
1274 # * `Failed to load '$0' which helps debug $1 the first time it
1275 # is loaded. Again, $0 is very important.`
1276 # * `Please pay $$10 to use $0 instead of $1.`
1277 },
1278 },
1279 "name": "A String", # Name of the variable, if any.
1280 "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
1281 # one variable can reference the same variable in the table. The
1282 # `var_table_index` field is an index into `variable_table` in Breakpoint.
1283 "value": "A String", # Simple value of the variable.
1284 "members": [ # Members contained or pointed to by the variable.
1285 # Object with schema name: Variable
1286 ],
1287 "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
1288 # `var_table_index`, `type` goes next to `value`. The interpretation of
1289 # a type is agent specific. It is recommended to include the dynamic type
1290 # rather than a static type of an object.
1291 },
1292 ],
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -04001293 "locals": [ # Set of local variables at the stack frame location.
1294 # Note that this might not be populated for all stack frames.
1295 { # Represents a variable or an argument possibly of a compound object type.
1296 # Note how the following variables are represented:
1297 #
1298 # 1) A simple variable:
1299 #
1300 # int x = 5
1301 #
1302 # { name: "x", value: "5", type: "int" } // Captured variable
1303 #
1304 # 2) A compound object:
1305 #
1306 # struct T {
1307 # int m1;
1308 # int m2;
1309 # };
1310 # T x = { 3, 7 };
1311 #
1312 # { // Captured variable
1313 # name: "x",
1314 # type: "T",
1315 # members { name: "m1", value: "3", type: "int" },
1316 # members { name: "m2", value: "7", type: "int" }
1317 # }
1318 #
1319 # 3) A pointer where the pointee was captured:
1320 #
1321 # T x = { 3, 7 };
1322 # T* p = &x;
1323 #
1324 # { // Captured variable
1325 # name: "p",
1326 # type: "T*",
1327 # value: "0x00500500",
1328 # members { name: "m1", value: "3", type: "int" },
1329 # members { name: "m2", value: "7", type: "int" }
1330 # }
1331 #
1332 # 4) A pointer where the pointee was not captured:
1333 #
1334 # T* p = new T;
1335 #
1336 # { // Captured variable
1337 # name: "p",
1338 # type: "T*",
1339 # value: "0x00400400"
1340 # status { is_error: true, description { format: "unavailable" } }
1341 # }
1342 #
1343 # The status should describe the reason for the missing value,
1344 # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
1345 #
1346 # Note that a null pointer should not have members.
1347 #
1348 # 5) An unnamed value:
1349 #
1350 # int* p = new int(7);
1351 #
1352 # { // Captured variable
1353 # name: "p",
1354 # value: "0x00500500",
1355 # type: "int*",
1356 # members { value: "7", type: "int" } }
1357 #
1358 # 6) An unnamed pointer where the pointee was not captured:
1359 #
1360 # int* p = new int(7);
1361 # int** pp = &p;
1362 #
1363 # { // Captured variable
1364 # name: "pp",
1365 # value: "0x00500500",
1366 # type: "int**",
1367 # members {
1368 # value: "0x00400400",
1369 # type: "int*"
1370 # status {
1371 # is_error: true,
1372 # description: { format: "unavailable" } }
1373 # }
1374 # }
1375 # }
1376 #
1377 # To optimize computation, memory and network traffic, variables that
1378 # repeat in the output multiple times can be stored once in a shared
1379 # variable table and be referenced using the `var_table_index` field. The
1380 # variables stored in the shared table are nameless and are essentially
1381 # a partition of the complete variable. To reconstruct the complete
1382 # variable, merge the referencing variable with the referenced variable.
1383 #
1384 # When using the shared variable table, the following variables:
1385 #
1386 # T x = { 3, 7 };
1387 # T* p = &x;
1388 # T& r = x;
1389 #
1390 # { name: "x", var_table_index: 3, type: "T" } // Captured variables
1391 # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
1392 # { name: "r", type="T&", var_table_index: 3 }
1393 #
1394 # { // Shared variable table entry #3:
1395 # members { name: "m1", value: "3", type: "int" },
1396 # members { name: "m2", value: "7", type: "int" }
1397 # }
1398 #
1399 # Note that the pointer address is stored with the referencing variable
1400 # and not with the referenced variable. This allows the referenced variable
1401 # to be shared between pointers and references.
1402 #
1403 # The type field is optional. The debugger agent may or may not support it.
1404 "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
1405 # unset. A status of a single variable only applies to that variable or
1406 # expression. The rest of breakpoint data still remains valid. Variables
1407 # might be reported in error state even when breakpoint is not in final
1408 # state.
1409 #
1410 # The message may refer to variable name with `refers_to` set to
1411 # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
1412 # In either case variable value and members will be unset.
1413 #
1414 # Example of error message applied to name: `Invalid expression syntax`.
1415 #
1416 # Example of information message applied to value: `Not captured`.
1417 #
1418 # Examples of error message applied to value:
1419 #
1420 # * `Malformed string`,
1421 # * `Field f not found in class C`
1422 # * `Null pointer dereference`
1423 # The message can indicate an error or informational status, and refer to
1424 # specific parts of the containing object.
1425 # For example, the `Breakpoint.status` field can indicate an error referring
1426 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
1427 "isError": True or False, # Distinguishes errors from informational messages.
1428 "refersTo": "A String", # Reference to which the message applies.
1429 "description": { # Represents a message with parameters. # Status message text.
1430 "parameters": [ # Optional parameters to be embedded into the message.
1431 "A String",
1432 ],
1433 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
1434 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
1435 # character.
1436 #
1437 # Examples:
1438 #
1439 # * `Failed to load '$0' which helps debug $1 the first time it
1440 # is loaded. Again, $0 is very important.`
1441 # * `Please pay $$10 to use $0 instead of $1.`
1442 },
1443 },
1444 "name": "A String", # Name of the variable, if any.
1445 "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
1446 # one variable can reference the same variable in the table. The
1447 # `var_table_index` field is an index into `variable_table` in Breakpoint.
1448 "value": "A String", # Simple value of the variable.
1449 "members": [ # Members contained or pointed to by the variable.
1450 # Object with schema name: Variable
1451 ],
1452 "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
1453 # `var_table_index`, `type` goes next to `value`. The interpretation of
1454 # a type is agent specific. It is recommended to include the dynamic type
1455 # rather than a static type of an object.
1456 },
1457 ],
1458 "location": { # Represents a location in the source code. # Source location of the call site.
1459 "path": "A String", # Path to the source file within the source context of the target binary.
1460 "line": 42, # Line inside the file. The first line in the file has the value `1`.
1461 },
Takashi Matsuo06694102015-09-11 13:55:40 -07001462 },
1463 ],
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -04001464 "createTime": "A String", # Time this breakpoint was created by the server in seconds resolution.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001465 "expressions": [ # List of read-only expressions to evaluate at the breakpoint location.
1466 # The expressions are composed using expressions in the programming language
1467 # at the source location. If the breakpoint action is `LOG`, the evaluated
1468 # expressions are included in log statements.
Takashi Matsuo06694102015-09-11 13:55:40 -07001469 "A String",
1470 ],
Sai Cheemalapati4ba8c232017-06-06 18:46:08 -04001471 "location": { # Represents a location in the source code. # Breakpoint source location.
1472 "path": "A String", # Path to the source file within the source context of the target binary.
1473 "line": 42, # Line inside the file. The first line in the file has the value `1`.
1474 },
1475 "finalTime": "A String", # Time this breakpoint was finalized as seen by the server in seconds
1476 # resolution.
1477 "action": "A String", # Action that the agent should perform when the code at the
1478 # breakpoint location is hit.
1479 "logMessageFormat": "A String", # Only relevant when action is `LOG`. Defines the message to log when
1480 # the breakpoint hits. The message may include parameter placeholders `$0`,
1481 # `$1`, etc. These placeholders are replaced with the evaluated value
1482 # of the appropriate expression. Expressions not referenced in
1483 # `log_message_format` are not logged.
1484 #
1485 # Example: `Message received, id = $0, count = $1` with
1486 # `expressions` = `[ message.id, message.count ]`.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001487 "isFinalState": True or False, # When true, indicates that this is a final result and the
1488 # breakpoint state will not change from here on.
1489 "evaluatedExpressions": [ # Values of evaluated expressions at breakpoint time.
1490 # The evaluated expressions appear in exactly the same order they
1491 # are listed in the `expressions` field.
1492 # The `name` field holds the original expression text, the `value` or
1493 # `members` field holds the result of the evaluated expression.
1494 # If the expression cannot be evaluated, the `status` inside the `Variable`
1495 # will indicate an error and contain the error text.
1496 { # Represents a variable or an argument possibly of a compound object type.
1497 # Note how the following variables are represented:
1498 #
1499 # 1) A simple variable:
1500 #
1501 # int x = 5
1502 #
1503 # { name: "x", value: "5", type: "int" } // Captured variable
1504 #
1505 # 2) A compound object:
1506 #
1507 # struct T {
1508 # int m1;
1509 # int m2;
1510 # };
1511 # T x = { 3, 7 };
1512 #
1513 # { // Captured variable
1514 # name: "x",
1515 # type: "T",
1516 # members { name: "m1", value: "3", type: "int" },
1517 # members { name: "m2", value: "7", type: "int" }
1518 # }
1519 #
1520 # 3) A pointer where the pointee was captured:
1521 #
1522 # T x = { 3, 7 };
1523 # T* p = &x;
1524 #
1525 # { // Captured variable
1526 # name: "p",
1527 # type: "T*",
1528 # value: "0x00500500",
1529 # members { name: "m1", value: "3", type: "int" },
1530 # members { name: "m2", value: "7", type: "int" }
1531 # }
1532 #
1533 # 4) A pointer where the pointee was not captured:
1534 #
1535 # T* p = new T;
1536 #
1537 # { // Captured variable
1538 # name: "p",
1539 # type: "T*",
1540 # value: "0x00400400"
1541 # status { is_error: true, description { format: "unavailable" } }
1542 # }
1543 #
1544 # The status should describe the reason for the missing value,
1545 # such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
1546 #
1547 # Note that a null pointer should not have members.
1548 #
1549 # 5) An unnamed value:
1550 #
1551 # int* p = new int(7);
1552 #
1553 # { // Captured variable
1554 # name: "p",
1555 # value: "0x00500500",
1556 # type: "int*",
1557 # members { value: "7", type: "int" } }
1558 #
1559 # 6) An unnamed pointer where the pointee was not captured:
1560 #
1561 # int* p = new int(7);
1562 # int** pp = &p;
1563 #
1564 # { // Captured variable
1565 # name: "pp",
1566 # value: "0x00500500",
1567 # type: "int**",
1568 # members {
1569 # value: "0x00400400",
1570 # type: "int*"
1571 # status {
1572 # is_error: true,
1573 # description: { format: "unavailable" } }
1574 # }
1575 # }
1576 # }
1577 #
1578 # To optimize computation, memory and network traffic, variables that
1579 # repeat in the output multiple times can be stored once in a shared
1580 # variable table and be referenced using the `var_table_index` field. The
1581 # variables stored in the shared table are nameless and are essentially
1582 # a partition of the complete variable. To reconstruct the complete
1583 # variable, merge the referencing variable with the referenced variable.
1584 #
1585 # When using the shared variable table, the following variables:
1586 #
1587 # T x = { 3, 7 };
1588 # T* p = &x;
1589 # T& r = x;
1590 #
1591 # { name: "x", var_table_index: 3, type: "T" } // Captured variables
1592 # { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
1593 # { name: "r", type="T&", var_table_index: 3 }
1594 #
1595 # { // Shared variable table entry #3:
1596 # members { name: "m1", value: "3", type: "int" },
1597 # members { name: "m2", value: "7", type: "int" }
1598 # }
1599 #
1600 # Note that the pointer address is stored with the referencing variable
1601 # and not with the referenced variable. This allows the referenced variable
1602 # to be shared between pointers and references.
1603 #
1604 # The type field is optional. The debugger agent may or may not support it.
1605 "status": { # Represents a contextual status message. # Status associated with the variable. This field will usually stay
1606 # unset. A status of a single variable only applies to that variable or
1607 # expression. The rest of breakpoint data still remains valid. Variables
1608 # might be reported in error state even when breakpoint is not in final
1609 # state.
1610 #
1611 # The message may refer to variable name with `refers_to` set to
1612 # `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
1613 # In either case variable value and members will be unset.
1614 #
1615 # Example of error message applied to name: `Invalid expression syntax`.
1616 #
1617 # Example of information message applied to value: `Not captured`.
1618 #
1619 # Examples of error message applied to value:
1620 #
1621 # * `Malformed string`,
1622 # * `Field f not found in class C`
1623 # * `Null pointer dereference`
1624 # The message can indicate an error or informational status, and refer to
1625 # specific parts of the containing object.
1626 # For example, the `Breakpoint.status` field can indicate an error referring
1627 # to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
Takashi Matsuo06694102015-09-11 13:55:40 -07001628 "isError": True or False, # Distinguishes errors from informational messages.
1629 "refersTo": "A String", # Reference to which the message applies.
1630 "description": { # Represents a message with parameters. # Status message text.
1631 "parameters": [ # Optional parameters to be embedded into the message.
1632 "A String",
1633 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001634 "format": "A String", # Format template for the message. The `format` uses placeholders `$0`,
1635 # `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
1636 # character.
1637 #
1638 # Examples:
1639 #
1640 # * `Failed to load '$0' which helps debug $1 the first time it
1641 # is loaded. Again, $0 is very important.`
1642 # * `Please pay $$10 to use $0 instead of $1.`
Takashi Matsuo06694102015-09-11 13:55:40 -07001643 },
1644 },
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001645 "name": "A String", # Name of the variable, if any.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001646 "varTableIndex": 42, # Reference to a variable in the shared variable table. More than
1647 # one variable can reference the same variable in the table. The
1648 # `var_table_index` field is an index into `variable_table` in Breakpoint.
Jon Wayne Parrott36e41bc2016-02-19 16:02:29 -08001649 "value": "A String", # Simple value of the variable.
1650 "members": [ # Members contained or pointed to by the variable.
1651 # Object with schema name: Variable
1652 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001653 "type": "A String", # Variable type (e.g. `MyClass`). If the variable is split with
1654 # `var_table_index`, `type` goes next to `value`. The interpretation of
1655 # a type is agent specific. It is recommended to include the dynamic type
1656 # rather than a static type of an object.
Takashi Matsuo06694102015-09-11 13:55:40 -07001657 },
1658 ],
1659 "id": "A String", # Breakpoint identifier, unique in the scope of the debuggee.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001660 "condition": "A String", # Condition that triggers the breakpoint.
1661 # The condition is a compound boolean expression composed using expressions
1662 # in a programming language at the source location.
Takashi Matsuo06694102015-09-11 13:55:40 -07001663 },
1664 }
1665
1666 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001667 Allowed values
1668 1 - v1 error format
1669 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -07001670
1671Returns:
1672 An object of the form:
1673
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001674 { # Response for updating an active breakpoint.
1675 # The message is defined to allow future extensions.
Takashi Matsuo06694102015-09-11 13:55:40 -07001676 }</pre>
1677</div>
1678
1679</body></html>