google-cloud-debugger 0.24.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +8 -0
- data/LICENSE +201 -0
- data/README.md +56 -0
- data/ext/google/cloud/debugger/debugger_c/debugger.c +31 -0
- data/ext/google/cloud/debugger/debugger_c/debugger.h +26 -0
- data/ext/google/cloud/debugger/debugger_c/evaluator.c +78 -0
- data/ext/google/cloud/debugger/debugger_c/evaluator.h +25 -0
- data/ext/google/cloud/debugger/debugger_c/extconf.rb +22 -0
- data/ext/google/cloud/debugger/debugger_c/tracer.c +478 -0
- data/ext/google/cloud/debugger/debugger_c/tracer.h +31 -0
- data/lib/google-cloud-debugger.rb +121 -0
- data/lib/google/cloud/debugger.rb +379 -0
- data/lib/google/cloud/debugger/agent.rb +204 -0
- data/lib/google/cloud/debugger/async_actor.rb +290 -0
- data/lib/google/cloud/debugger/breakpoint.rb +382 -0
- data/lib/google/cloud/debugger/breakpoint/evaluator.rb +1113 -0
- data/lib/google/cloud/debugger/breakpoint/source_location.rb +75 -0
- data/lib/google/cloud/debugger/breakpoint/stack_frame.rb +109 -0
- data/lib/google/cloud/debugger/breakpoint/variable.rb +304 -0
- data/lib/google/cloud/debugger/breakpoint_manager.rb +217 -0
- data/lib/google/cloud/debugger/credentials.rb +41 -0
- data/lib/google/cloud/debugger/debuggee.rb +204 -0
- data/lib/google/cloud/debugger/debuggee/app_uniquifier_generator.rb +78 -0
- data/lib/google/cloud/debugger/middleware.rb +77 -0
- data/lib/google/cloud/debugger/project.rb +135 -0
- data/lib/google/cloud/debugger/rails.rb +141 -0
- data/lib/google/cloud/debugger/service.rb +130 -0
- data/lib/google/cloud/debugger/tracer.rb +165 -0
- data/lib/google/cloud/debugger/transmitter.rb +129 -0
- data/lib/google/cloud/debugger/v2.rb +15 -0
- data/lib/google/cloud/debugger/v2/controller2_client.rb +299 -0
- data/lib/google/cloud/debugger/v2/controller2_client_config.json +43 -0
- data/lib/google/cloud/debugger/v2/debugger2_client.rb +378 -0
- data/lib/google/cloud/debugger/v2/debugger2_client_config.json +53 -0
- data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/data.rb +441 -0
- data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/debugger.rb +151 -0
- data/lib/google/cloud/debugger/v2/doc/google/devtools/source/v1/source_context.rb +161 -0
- data/lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb +81 -0
- data/lib/google/cloud/debugger/version.rb +22 -0
- data/lib/google/devtools/clouddebugger/v2/controller_pb.rb +47 -0
- data/lib/google/devtools/clouddebugger/v2/controller_services_pb.rb +97 -0
- data/lib/google/devtools/clouddebugger/v2/data_pb.rb +105 -0
- data/lib/google/devtools/clouddebugger/v2/debugger_pb.rb +74 -0
- data/lib/google/devtools/clouddebugger/v2/debugger_services_pb.rb +64 -0
- data/lib/google/devtools/source/v1/source_context_pb.rb +89 -0
- metadata +300 -0
@@ -0,0 +1,441 @@
|
|
1
|
+
# Copyright 2017, Google Inc. All rights reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Google
|
16
|
+
module Devtools
|
17
|
+
module Clouddebugger
|
18
|
+
module V2
|
19
|
+
# Represents a message with parameters.
|
20
|
+
# @!attribute [rw] format
|
21
|
+
# @return [String]
|
22
|
+
# Format template for the message. The +format+ uses placeholders +$0+,
|
23
|
+
# +$1+, etc. to reference parameters. +$$+ can be used to denote the +$+
|
24
|
+
# character.
|
25
|
+
#
|
26
|
+
# Examples:
|
27
|
+
#
|
28
|
+
# * +Failed to load '$0' which helps debug $1 the first time it
|
29
|
+
# is loaded. Again, $0 is very important.+
|
30
|
+
# * +Please pay $$10 to use $0 instead of $1.+
|
31
|
+
# @!attribute [rw] parameters
|
32
|
+
# @return [Array<String>]
|
33
|
+
# Optional parameters to be embedded into the message.
|
34
|
+
class FormatMessage; end
|
35
|
+
|
36
|
+
# Represents a contextual status message.
|
37
|
+
# The message can indicate an error or informational status, and refer to
|
38
|
+
# specific parts of the containing object.
|
39
|
+
# For example, the +Breakpoint.status+ field can indicate an error referring
|
40
|
+
# to the +BREAKPOINT_SOURCE_LOCATION+ with the message +Location not found+.
|
41
|
+
# @!attribute [rw] is_error
|
42
|
+
# @return [true, false]
|
43
|
+
# Distinguishes errors from informational messages.
|
44
|
+
# @!attribute [rw] refers_to
|
45
|
+
# @return [Google::Devtools::Clouddebugger::V2::StatusMessage::Reference]
|
46
|
+
# Reference to which the message applies.
|
47
|
+
# @!attribute [rw] description
|
48
|
+
# @return [Google::Devtools::Clouddebugger::V2::FormatMessage]
|
49
|
+
# Status message text.
|
50
|
+
class StatusMessage
|
51
|
+
# Enumerates references to which the message applies.
|
52
|
+
module Reference
|
53
|
+
# Status doesn't refer to any particular input.
|
54
|
+
UNSPECIFIED = 0
|
55
|
+
|
56
|
+
# Status applies to the breakpoint and is related to its location.
|
57
|
+
BREAKPOINT_SOURCE_LOCATION = 3
|
58
|
+
|
59
|
+
# Status applies to the breakpoint and is related to its condition.
|
60
|
+
BREAKPOINT_CONDITION = 4
|
61
|
+
|
62
|
+
# Status applies to the breakpoint and is related to its expressions.
|
63
|
+
BREAKPOINT_EXPRESSION = 7
|
64
|
+
|
65
|
+
# Status applies to the breakpoint and is related to its age.
|
66
|
+
BREAKPOINT_AGE = 8
|
67
|
+
|
68
|
+
# Status applies to the entire variable.
|
69
|
+
VARIABLE_NAME = 5
|
70
|
+
|
71
|
+
# Status applies to variable value (variable name is valid).
|
72
|
+
VARIABLE_VALUE = 6
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# Represents a location in the source code.
|
77
|
+
# @!attribute [rw] path
|
78
|
+
# @return [String]
|
79
|
+
# Path to the source file within the source context of the target binary.
|
80
|
+
# @!attribute [rw] line
|
81
|
+
# @return [Integer]
|
82
|
+
# Line inside the file. The first line in the file has the value +1+.
|
83
|
+
class SourceLocation; end
|
84
|
+
|
85
|
+
# Represents a variable or an argument possibly of a compound object type.
|
86
|
+
# Note how the following variables are represented:
|
87
|
+
#
|
88
|
+
# 1) A simple variable:
|
89
|
+
#
|
90
|
+
# int x = 5
|
91
|
+
#
|
92
|
+
# { name: "x", value: "5", type: "int" } // Captured variable
|
93
|
+
#
|
94
|
+
# 2) A compound object:
|
95
|
+
#
|
96
|
+
# struct T {
|
97
|
+
# int m1;
|
98
|
+
# int m2;
|
99
|
+
# };
|
100
|
+
# T x = { 3, 7 };
|
101
|
+
#
|
102
|
+
# { // Captured variable
|
103
|
+
# name: "x",
|
104
|
+
# type: "T",
|
105
|
+
# members { name: "m1", value: "3", type: "int" },
|
106
|
+
# members { name: "m2", value: "7", type: "int" }
|
107
|
+
# }
|
108
|
+
#
|
109
|
+
# 3) A pointer where the pointee was captured:
|
110
|
+
#
|
111
|
+
# T x = { 3, 7 };
|
112
|
+
# T* p = &x;
|
113
|
+
#
|
114
|
+
# { // Captured variable
|
115
|
+
# name: "p",
|
116
|
+
# type: "T*",
|
117
|
+
# value: "0x00500500",
|
118
|
+
# members { name: "m1", value: "3", type: "int" },
|
119
|
+
# members { name: "m2", value: "7", type: "int" }
|
120
|
+
# }
|
121
|
+
#
|
122
|
+
# 4) A pointer where the pointee was not captured:
|
123
|
+
#
|
124
|
+
# T* p = new T;
|
125
|
+
#
|
126
|
+
# { // Captured variable
|
127
|
+
# name: "p",
|
128
|
+
# type: "T*",
|
129
|
+
# value: "0x00400400"
|
130
|
+
# status { is_error: true, description { format: "unavailable" } }
|
131
|
+
# }
|
132
|
+
#
|
133
|
+
# The status should describe the reason for the missing value,
|
134
|
+
# such as +<optimized out>+, +<inaccessible>+, +<pointers limit reached>+.
|
135
|
+
#
|
136
|
+
# Note that a null pointer should not have members.
|
137
|
+
#
|
138
|
+
# 5) An unnamed value:
|
139
|
+
#
|
140
|
+
# int* p = new int(7);
|
141
|
+
#
|
142
|
+
# { // Captured variable
|
143
|
+
# name: "p",
|
144
|
+
# value: "0x00500500",
|
145
|
+
# type: "int*",
|
146
|
+
# members { value: "7", type: "int" } }
|
147
|
+
#
|
148
|
+
# 6) An unnamed pointer where the pointee was not captured:
|
149
|
+
#
|
150
|
+
# int* p = new int(7);
|
151
|
+
# int** pp = &p;
|
152
|
+
#
|
153
|
+
# { // Captured variable
|
154
|
+
# name: "pp",
|
155
|
+
# value: "0x00500500",
|
156
|
+
# type: "int**",
|
157
|
+
# members {
|
158
|
+
# value: "0x00400400",
|
159
|
+
# type: "int*"
|
160
|
+
# status {
|
161
|
+
# is_error: true,
|
162
|
+
# description: { format: "unavailable" } }
|
163
|
+
# }
|
164
|
+
# }
|
165
|
+
# }
|
166
|
+
#
|
167
|
+
# To optimize computation, memory and network traffic, variables that
|
168
|
+
# repeat in the output multiple times can be stored once in a shared
|
169
|
+
# variable table and be referenced using the +var_table_index+ field. The
|
170
|
+
# variables stored in the shared table are nameless and are essentially
|
171
|
+
# a partition of the complete variable. To reconstruct the complete
|
172
|
+
# variable, merge the referencing variable with the referenced variable.
|
173
|
+
#
|
174
|
+
# When using the shared variable table, the following variables:
|
175
|
+
#
|
176
|
+
# T x = { 3, 7 };
|
177
|
+
# T* p = &x;
|
178
|
+
# T& r = x;
|
179
|
+
#
|
180
|
+
# { name: "x", var_table_index: 3, type: "T" } // Captured variables
|
181
|
+
# { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
|
182
|
+
# { name: "r", type="T&", var_table_index: 3 }
|
183
|
+
#
|
184
|
+
# { // Shared variable table entry #3:
|
185
|
+
# members { name: "m1", value: "3", type: "int" },
|
186
|
+
# members { name: "m2", value: "7", type: "int" }
|
187
|
+
# }
|
188
|
+
#
|
189
|
+
# Note that the pointer address is stored with the referencing variable
|
190
|
+
# and not with the referenced variable. This allows the referenced variable
|
191
|
+
# to be shared between pointers and references.
|
192
|
+
#
|
193
|
+
# The type field is optional. The debugger agent may or may not support it.
|
194
|
+
# @!attribute [rw] name
|
195
|
+
# @return [String]
|
196
|
+
# Name of the variable, if any.
|
197
|
+
# @!attribute [rw] value
|
198
|
+
# @return [String]
|
199
|
+
# Simple value of the variable.
|
200
|
+
# @!attribute [rw] type
|
201
|
+
# @return [String]
|
202
|
+
# Variable type (e.g. +MyClass+). If the variable is split with
|
203
|
+
# +var_table_index+, +type+ goes next to +value+. The interpretation of
|
204
|
+
# a type is agent specific. It is recommended to include the dynamic type
|
205
|
+
# rather than a static type of an object.
|
206
|
+
# @!attribute [rw] members
|
207
|
+
# @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
|
208
|
+
# Members contained or pointed to by the variable.
|
209
|
+
# @!attribute [rw] var_table_index
|
210
|
+
# @return [Google::Protobuf::Int32Value]
|
211
|
+
# Reference to a variable in the shared variable table. More than
|
212
|
+
# one variable can reference the same variable in the table. The
|
213
|
+
# +var_table_index+ field is an index into +variable_table+ in Breakpoint.
|
214
|
+
# @!attribute [rw] status
|
215
|
+
# @return [Google::Devtools::Clouddebugger::V2::StatusMessage]
|
216
|
+
# Status associated with the variable. This field will usually stay
|
217
|
+
# unset. A status of a single variable only applies to that variable or
|
218
|
+
# expression. The rest of breakpoint data still remains valid. Variables
|
219
|
+
# might be reported in error state even when breakpoint is not in final
|
220
|
+
# state.
|
221
|
+
#
|
222
|
+
# The message may refer to variable name with +refers_to+ set to
|
223
|
+
# +VARIABLE_NAME+. Alternatively +refers_to+ will be set to +VARIABLE_VALUE+.
|
224
|
+
# In either case variable value and members will be unset.
|
225
|
+
#
|
226
|
+
# Example of error message applied to name: +Invalid expression syntax+.
|
227
|
+
#
|
228
|
+
# Example of information message applied to value: +Not captured+.
|
229
|
+
#
|
230
|
+
# Examples of error message applied to value:
|
231
|
+
#
|
232
|
+
# * +Malformed string+,
|
233
|
+
# * +Field f not found in class C+
|
234
|
+
# * +Null pointer dereference+
|
235
|
+
class Variable; end
|
236
|
+
|
237
|
+
# Represents a stack frame context.
|
238
|
+
# @!attribute [rw] function
|
239
|
+
# @return [String]
|
240
|
+
# Demangled function name at the call site.
|
241
|
+
# @!attribute [rw] location
|
242
|
+
# @return [Google::Devtools::Clouddebugger::V2::SourceLocation]
|
243
|
+
# Source location of the call site.
|
244
|
+
# @!attribute [rw] arguments
|
245
|
+
# @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
|
246
|
+
# Set of arguments passed to this function.
|
247
|
+
# Note that this might not be populated for all stack frames.
|
248
|
+
# @!attribute [rw] locals
|
249
|
+
# @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
|
250
|
+
# Set of local variables at the stack frame location.
|
251
|
+
# Note that this might not be populated for all stack frames.
|
252
|
+
class StackFrame; end
|
253
|
+
|
254
|
+
# Represents the breakpoint specification, status and results.
|
255
|
+
# @!attribute [rw] id
|
256
|
+
# @return [String]
|
257
|
+
# Breakpoint identifier, unique in the scope of the debuggee.
|
258
|
+
# @!attribute [rw] action
|
259
|
+
# @return [Google::Devtools::Clouddebugger::V2::Breakpoint::Action]
|
260
|
+
# Action that the agent should perform when the code at the
|
261
|
+
# breakpoint location is hit.
|
262
|
+
# @!attribute [rw] location
|
263
|
+
# @return [Google::Devtools::Clouddebugger::V2::SourceLocation]
|
264
|
+
# Breakpoint source location.
|
265
|
+
# @!attribute [rw] condition
|
266
|
+
# @return [String]
|
267
|
+
# Condition that triggers the breakpoint.
|
268
|
+
# The condition is a compound boolean expression composed using expressions
|
269
|
+
# in a programming language at the source location.
|
270
|
+
# @!attribute [rw] expressions
|
271
|
+
# @return [Array<String>]
|
272
|
+
# List of read-only expressions to evaluate at the breakpoint location.
|
273
|
+
# The expressions are composed using expressions in the programming language
|
274
|
+
# at the source location. If the breakpoint action is +LOG+, the evaluated
|
275
|
+
# expressions are included in log statements.
|
276
|
+
# @!attribute [rw] log_message_format
|
277
|
+
# @return [String]
|
278
|
+
# Only relevant when action is +LOG+. Defines the message to log when
|
279
|
+
# the breakpoint hits. The message may include parameter placeholders +$0+,
|
280
|
+
# +$1+, etc. These placeholders are replaced with the evaluated value
|
281
|
+
# of the appropriate expression. Expressions not referenced in
|
282
|
+
# +log_message_format+ are not logged.
|
283
|
+
#
|
284
|
+
# Example: +Message received, id = $0, count = $1+ with
|
285
|
+
# +expressions+ = +[ message.id, message.count ]+.
|
286
|
+
# @!attribute [rw] log_level
|
287
|
+
# @return [Google::Devtools::Clouddebugger::V2::Breakpoint::LogLevel]
|
288
|
+
# Indicates the severity of the log. Only relevant when action is +LOG+.
|
289
|
+
# @!attribute [rw] is_final_state
|
290
|
+
# @return [true, false]
|
291
|
+
# When true, indicates that this is a final result and the
|
292
|
+
# breakpoint state will not change from here on.
|
293
|
+
# @!attribute [rw] create_time
|
294
|
+
# @return [Google::Protobuf::Timestamp]
|
295
|
+
# Time this breakpoint was created by the server in seconds resolution.
|
296
|
+
# @!attribute [rw] final_time
|
297
|
+
# @return [Google::Protobuf::Timestamp]
|
298
|
+
# Time this breakpoint was finalized as seen by the server in seconds
|
299
|
+
# resolution.
|
300
|
+
# @!attribute [rw] user_email
|
301
|
+
# @return [String]
|
302
|
+
# E-mail address of the user that created this breakpoint
|
303
|
+
# @!attribute [rw] status
|
304
|
+
# @return [Google::Devtools::Clouddebugger::V2::StatusMessage]
|
305
|
+
# Breakpoint status.
|
306
|
+
#
|
307
|
+
# The status includes an error flag and a human readable message.
|
308
|
+
# This field is usually unset. The message can be either
|
309
|
+
# informational or an error message. Regardless, clients should always
|
310
|
+
# display the text message back to the user.
|
311
|
+
#
|
312
|
+
# Error status indicates complete failure of the breakpoint.
|
313
|
+
#
|
314
|
+
# Example (non-final state): +Still loading symbols...+
|
315
|
+
#
|
316
|
+
# Examples (final state):
|
317
|
+
#
|
318
|
+
# * +Invalid line number+ referring to location
|
319
|
+
# * +Field f not found in class C+ referring to condition
|
320
|
+
# @!attribute [rw] stack_frames
|
321
|
+
# @return [Array<Google::Devtools::Clouddebugger::V2::StackFrame>]
|
322
|
+
# The stack at breakpoint time.
|
323
|
+
# @!attribute [rw] evaluated_expressions
|
324
|
+
# @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
|
325
|
+
# Values of evaluated expressions at breakpoint time.
|
326
|
+
# The evaluated expressions appear in exactly the same order they
|
327
|
+
# are listed in the +expressions+ field.
|
328
|
+
# The +name+ field holds the original expression text, the +value+ or
|
329
|
+
# +members+ field holds the result of the evaluated expression.
|
330
|
+
# If the expression cannot be evaluated, the +status+ inside the +Variable+
|
331
|
+
# will indicate an error and contain the error text.
|
332
|
+
# @!attribute [rw] variable_table
|
333
|
+
# @return [Array<Google::Devtools::Clouddebugger::V2::Variable>]
|
334
|
+
# The +variable_table+ exists to aid with computation, memory and network
|
335
|
+
# traffic optimization. It enables storing a variable once and reference
|
336
|
+
# it from multiple variables, including variables stored in the
|
337
|
+
# +variable_table+ itself.
|
338
|
+
# For example, the same +this+ object, which may appear at many levels of
|
339
|
+
# the stack, can have all of its data stored once in this table. The
|
340
|
+
# stack frame variables then would hold only a reference to it.
|
341
|
+
#
|
342
|
+
# The variable +var_table_index+ field is an index into this repeated field.
|
343
|
+
# The stored objects are nameless and get their name from the referencing
|
344
|
+
# variable. The effective variable is a merge of the referencing variable
|
345
|
+
# and the referenced variable.
|
346
|
+
# @!attribute [rw] labels
|
347
|
+
# @return [Hash{String => String}]
|
348
|
+
# A set of custom breakpoint properties, populated by the agent, to be
|
349
|
+
# displayed to the user.
|
350
|
+
class Breakpoint
|
351
|
+
# Actions that can be taken when a breakpoint hits.
|
352
|
+
# Agents should reject breakpoints with unsupported or unknown action values.
|
353
|
+
module Action
|
354
|
+
# Capture stack frame and variables and update the breakpoint.
|
355
|
+
# The data is only captured once. After that the breakpoint is set
|
356
|
+
# in a final state.
|
357
|
+
CAPTURE = 0
|
358
|
+
|
359
|
+
# Log each breakpoint hit. The breakpoint remains active until
|
360
|
+
# deleted or expired.
|
361
|
+
LOG = 1
|
362
|
+
end
|
363
|
+
|
364
|
+
# Log severity levels.
|
365
|
+
module LogLevel
|
366
|
+
# Information log message.
|
367
|
+
INFO = 0
|
368
|
+
|
369
|
+
# Warning log message.
|
370
|
+
WARNING = 1
|
371
|
+
|
372
|
+
# Error log message.
|
373
|
+
ERROR = 2
|
374
|
+
end
|
375
|
+
end
|
376
|
+
|
377
|
+
# Represents the application to debug. The application may include one or more
|
378
|
+
# replicated processes executing the same code. Each of these processes is
|
379
|
+
# attached with a debugger agent, carrying out the debugging commands.
|
380
|
+
# The agents attached to the same debuggee are identified by using exactly the
|
381
|
+
# same field values when registering.
|
382
|
+
# @!attribute [rw] id
|
383
|
+
# @return [String]
|
384
|
+
# Unique identifier for the debuggee generated by the controller service.
|
385
|
+
# @!attribute [rw] project
|
386
|
+
# @return [String]
|
387
|
+
# Project the debuggee is associated with.
|
388
|
+
# Use the project number when registering a Google Cloud Platform project.
|
389
|
+
# @!attribute [rw] uniquifier
|
390
|
+
# @return [String]
|
391
|
+
# Debuggee uniquifier within the project.
|
392
|
+
# Any string that identifies the application within the project can be used.
|
393
|
+
# Including environment and version or build IDs is recommended.
|
394
|
+
# @!attribute [rw] description
|
395
|
+
# @return [String]
|
396
|
+
# Human readable description of the debuggee.
|
397
|
+
# Including a human-readable project name, environment name and version
|
398
|
+
# information is recommended.
|
399
|
+
# @!attribute [rw] is_inactive
|
400
|
+
# @return [true, false]
|
401
|
+
# If set to +true+, indicates that the debuggee is considered as inactive by
|
402
|
+
# the Controller service.
|
403
|
+
# @!attribute [rw] agent_version
|
404
|
+
# @return [String]
|
405
|
+
# Version ID of the agent release. The version ID is structured as
|
406
|
+
# following: +domain/type/vmajor.minor+ (for example
|
407
|
+
# +google.com/gcp-java/v1.1+).
|
408
|
+
# @!attribute [rw] is_disabled
|
409
|
+
# @return [true, false]
|
410
|
+
# If set to +true+, indicates that the agent should disable itself and
|
411
|
+
# detach from the debuggee.
|
412
|
+
# @!attribute [rw] status
|
413
|
+
# @return [Google::Devtools::Clouddebugger::V2::StatusMessage]
|
414
|
+
# Human readable message to be displayed to the user about this debuggee.
|
415
|
+
# Absence of this field indicates no status. The message can be either
|
416
|
+
# informational or an error status.
|
417
|
+
# @!attribute [rw] source_contexts
|
418
|
+
# @return [Array<Google::Devtools::Source::V1::SourceContext>]
|
419
|
+
# References to the locations and revisions of the source code used in the
|
420
|
+
# deployed application.
|
421
|
+
#
|
422
|
+
# NOTE: This field is deprecated. Consumers should use
|
423
|
+
# +ext_source_contexts+ if it is not empty. Debug agents should populate
|
424
|
+
# both this field and +ext_source_contexts+.
|
425
|
+
# @!attribute [rw] ext_source_contexts
|
426
|
+
# @return [Array<Google::Devtools::Source::V1::ExtendedSourceContext>]
|
427
|
+
# References to the locations and revisions of the source code used in the
|
428
|
+
# deployed application.
|
429
|
+
#
|
430
|
+
# Contexts describing a remote repo related to the source code
|
431
|
+
# have a +category+ label of +remote_repo+. Source snapshot source
|
432
|
+
# contexts have a +category+ of +snapshot+.
|
433
|
+
# @!attribute [rw] labels
|
434
|
+
# @return [Hash{String => String}]
|
435
|
+
# A set of custom debuggee properties, populated by the agent, to be
|
436
|
+
# displayed to the user.
|
437
|
+
class Debuggee; end
|
438
|
+
end
|
439
|
+
end
|
440
|
+
end
|
441
|
+
end
|
@@ -0,0 +1,151 @@
|
|
1
|
+
# Copyright 2017, Google Inc. All rights reserved.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Google
|
16
|
+
module Devtools
|
17
|
+
module Clouddebugger
|
18
|
+
module V2
|
19
|
+
# Request to set a breakpoint
|
20
|
+
# @!attribute [rw] debuggee_id
|
21
|
+
# @return [String]
|
22
|
+
# ID of the debuggee where the breakpoint is to be set.
|
23
|
+
# @!attribute [rw] breakpoint
|
24
|
+
# @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
|
25
|
+
# Breakpoint specification to set.
|
26
|
+
# The field 'location' of the breakpoint must be set.
|
27
|
+
# @!attribute [rw] client_version
|
28
|
+
# @return [String]
|
29
|
+
# The client version making the call.
|
30
|
+
# Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
|
31
|
+
class SetBreakpointRequest; end
|
32
|
+
|
33
|
+
# Response for setting a breakpoint.
|
34
|
+
# @!attribute [rw] breakpoint
|
35
|
+
# @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
|
36
|
+
# Breakpoint resource.
|
37
|
+
# The field +id+ is guaranteed to be set (in addition to the echoed fileds).
|
38
|
+
class SetBreakpointResponse; end
|
39
|
+
|
40
|
+
# Request to get breakpoint information.
|
41
|
+
# @!attribute [rw] debuggee_id
|
42
|
+
# @return [String]
|
43
|
+
# ID of the debuggee whose breakpoint to get.
|
44
|
+
# @!attribute [rw] breakpoint_id
|
45
|
+
# @return [String]
|
46
|
+
# ID of the breakpoint to get.
|
47
|
+
# @!attribute [rw] client_version
|
48
|
+
# @return [String]
|
49
|
+
# The client version making the call.
|
50
|
+
# Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
|
51
|
+
class GetBreakpointRequest; end
|
52
|
+
|
53
|
+
# Response for getting breakpoint information.
|
54
|
+
# @!attribute [rw] breakpoint
|
55
|
+
# @return [Google::Devtools::Clouddebugger::V2::Breakpoint]
|
56
|
+
# Complete breakpoint state.
|
57
|
+
# The fields +id+ and +location+ are guaranteed to be set.
|
58
|
+
class GetBreakpointResponse; end
|
59
|
+
|
60
|
+
# Request to delete a breakpoint.
|
61
|
+
# @!attribute [rw] debuggee_id
|
62
|
+
# @return [String]
|
63
|
+
# ID of the debuggee whose breakpoint to delete.
|
64
|
+
# @!attribute [rw] breakpoint_id
|
65
|
+
# @return [String]
|
66
|
+
# ID of the breakpoint to delete.
|
67
|
+
# @!attribute [rw] client_version
|
68
|
+
# @return [String]
|
69
|
+
# The client version making the call.
|
70
|
+
# Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
|
71
|
+
class DeleteBreakpointRequest; end
|
72
|
+
|
73
|
+
# Request to list breakpoints.
|
74
|
+
# @!attribute [rw] debuggee_id
|
75
|
+
# @return [String]
|
76
|
+
# ID of the debuggee whose breakpoints to list.
|
77
|
+
# @!attribute [rw] include_all_users
|
78
|
+
# @return [true, false]
|
79
|
+
# When set to +true+, the response includes the list of breakpoints set by
|
80
|
+
# any user. Otherwise, it includes only breakpoints set by the caller.
|
81
|
+
# @!attribute [rw] include_inactive
|
82
|
+
# @return [true, false]
|
83
|
+
# When set to +true+, the response includes active and inactive
|
84
|
+
# breakpoints. Otherwise, it includes only active breakpoints.
|
85
|
+
# @!attribute [rw] action
|
86
|
+
# @return [Google::Devtools::Clouddebugger::V2::ListBreakpointsRequest::BreakpointActionValue]
|
87
|
+
# When set, the response includes only breakpoints with the specified action.
|
88
|
+
# @!attribute [rw] strip_results
|
89
|
+
# @return [true, false]
|
90
|
+
# This field is deprecated. The following fields are always stripped out of
|
91
|
+
# the result: +stack_frames+, +evaluated_expressions+ and +variable_table+.
|
92
|
+
# @!attribute [rw] wait_token
|
93
|
+
# @return [String]
|
94
|
+
# A wait token that, if specified, blocks the call until the breakpoints
|
95
|
+
# list has changed, or a server selected timeout has expired. The value
|
96
|
+
# should be set from the last response. The error code
|
97
|
+
# +google.rpc.Code.ABORTED+ (RPC) is returned on wait timeout, which
|
98
|
+
# should be called again with the same +wait_token+.
|
99
|
+
# @!attribute [rw] client_version
|
100
|
+
# @return [String]
|
101
|
+
# The client version making the call.
|
102
|
+
# Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
|
103
|
+
class ListBreakpointsRequest
|
104
|
+
# Wrapper message for +Breakpoint.Action+. Defines a filter on the action
|
105
|
+
# field of breakpoints.
|
106
|
+
# @!attribute [rw] value
|
107
|
+
# @return [Google::Devtools::Clouddebugger::V2::Breakpoint::Action]
|
108
|
+
# Only breakpoints with the specified action will pass the filter.
|
109
|
+
class BreakpointActionValue; end
|
110
|
+
end
|
111
|
+
|
112
|
+
# Response for listing breakpoints.
|
113
|
+
# @!attribute [rw] breakpoints
|
114
|
+
# @return [Array<Google::Devtools::Clouddebugger::V2::Breakpoint>]
|
115
|
+
# List of breakpoints matching the request.
|
116
|
+
# The fields +id+ and +location+ are guaranteed to be set on each breakpoint.
|
117
|
+
# The fields: +stack_frames+, +evaluated_expressions+ and +variable_table+
|
118
|
+
# are cleared on each breakpoint regardless of it's status.
|
119
|
+
# @!attribute [rw] next_wait_token
|
120
|
+
# @return [String]
|
121
|
+
# A wait token that can be used in the next call to +list+ (REST) or
|
122
|
+
# +ListBreakpoints+ (RPC) to block until the list of breakpoints has changes.
|
123
|
+
class ListBreakpointsResponse; end
|
124
|
+
|
125
|
+
# Request to list debuggees.
|
126
|
+
# @!attribute [rw] project
|
127
|
+
# @return [String]
|
128
|
+
# Project number of a Google Cloud project whose debuggees to list.
|
129
|
+
# @!attribute [rw] include_inactive
|
130
|
+
# @return [true, false]
|
131
|
+
# When set to +true+, the result includes all debuggees. Otherwise, the
|
132
|
+
# result includes only debuggees that are active.
|
133
|
+
# @!attribute [rw] client_version
|
134
|
+
# @return [String]
|
135
|
+
# The client version making the call.
|
136
|
+
# Following: +domain/type/version+ (e.g., +google.com/intellij/v1+).
|
137
|
+
class ListDebuggeesRequest; end
|
138
|
+
|
139
|
+
# Response for listing debuggees.
|
140
|
+
# @!attribute [rw] debuggees
|
141
|
+
# @return [Array<Google::Devtools::Clouddebugger::V2::Debuggee>]
|
142
|
+
# List of debuggees accessible to the calling user.
|
143
|
+
# Note that the +description+ field is the only human readable field
|
144
|
+
# that should be displayed to the user.
|
145
|
+
# The fields +debuggee.id+ and +description+ fields are guaranteed to be
|
146
|
+
# set on each debuggee.
|
147
|
+
class ListDebuggeesResponse; end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|