roku-debug 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -1
- package/dist/adapters/DebugProtocolAdapter.d.ts +5 -2
- package/dist/adapters/DebugProtocolAdapter.js +3 -1
- package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
- package/dist/adapters/TelnetAdapter.d.ts +3 -0
- package/dist/adapters/TelnetAdapter.js.map +1 -1
- package/dist/debugProtocol/Constants.d.ts +12 -1
- package/dist/debugProtocol/Constants.js +11 -0
- package/dist/debugProtocol/Constants.js.map +1 -1
- package/dist/debugProtocol/Debugger.d.ts +44 -2
- package/dist/debugProtocol/Debugger.js +112 -49
- package/dist/debugProtocol/Debugger.js.map +1 -1
- package/dist/debugProtocol/responses/BreakpointErrorUpdateResponse.d.ts +32 -0
- package/dist/debugProtocol/responses/BreakpointErrorUpdateResponse.js +67 -0
- package/dist/debugProtocol/responses/BreakpointErrorUpdateResponse.js.map +1 -0
- package/dist/debugProtocol/responses/VariableResponse.js +5 -0
- package/dist/debugProtocol/responses/VariableResponse.js.map +1 -1
- package/dist/debugSession/BrightScriptDebugSession.d.ts +1 -0
- package/dist/debugSession/BrightScriptDebugSession.js +39 -10
- package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
- package/dist/managers/BreakpointManager.d.ts +4 -0
- package/dist/managers/BreakpointManager.js +2 -1
- package/dist/managers/BreakpointManager.js.map +1 -1
- package/dist/managers/ProjectManager.d.ts +4 -0
- package/dist/managers/ProjectManager.js +6 -8
- package/dist/managers/ProjectManager.js.map +1 -1
- package/dist/util.d.ts +9 -0
- package/dist/util.js +31 -0
- package/dist/util.js.map +1 -1
- package/package.json +2 -2
- package/roku-debug-0.15.0.tgz +0 -0
- package/roku-debug-0.14.0.tgz +0 -0
|
@@ -8,11 +8,12 @@ const responses_1 = require("./responses");
|
|
|
8
8
|
const Constants_1 = require("./Constants");
|
|
9
9
|
const smart_buffer_1 = require("smart-buffer");
|
|
10
10
|
const logging_1 = require("../logging");
|
|
11
|
-
const __1 = require("..");
|
|
12
11
|
const ExecuteResponseV3_1 = require("./responses/ExecuteResponseV3");
|
|
13
12
|
const ListBreakpointsResponse_1 = require("./responses/ListBreakpointsResponse");
|
|
14
13
|
const AddBreakpointsResponse_1 = require("./responses/AddBreakpointsResponse");
|
|
15
14
|
const RemoveBreakpointsResponse_1 = require("./responses/RemoveBreakpointsResponse");
|
|
15
|
+
const util_1 = require("../util");
|
|
16
|
+
const BreakpointErrorUpdateResponse_1 = require("./responses/BreakpointErrorUpdateResponse");
|
|
16
17
|
class Debugger {
|
|
17
18
|
constructor(options) {
|
|
18
19
|
this.logger = logging_1.logger.createLogger(`[${Debugger.name}]`);
|
|
@@ -36,8 +37,25 @@ class Debugger {
|
|
|
36
37
|
return this.stopped;
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
|
-
*
|
|
40
|
+
* Prior to protocol v3.1.0, the Roku device would regularly set the wrong thread as "active",
|
|
41
|
+
* so this flag lets us know if we should use our better-than-nothing workaround
|
|
40
42
|
*/
|
|
43
|
+
get enableThreadHoppingWorkaround() {
|
|
44
|
+
return semver.satisfies(this.protocolVersion, '<3.1.0');
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Starting in protocol v3.1.0, component libary breakpoints must be added in the format `lib:/<library_name>/<filepath>`, but prior they didn't require this.
|
|
48
|
+
* So this flag tells us which format to support
|
|
49
|
+
*/
|
|
50
|
+
get enableComponentLibrarySpecificBreakpoints() {
|
|
51
|
+
return semver.satisfies(this.protocolVersion, '>=3.1.0');
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Starting in protocol v3.1.0, breakpoints can support conditional expressions. This flag indicates whether the current sessuion supports that functionality.
|
|
55
|
+
*/
|
|
56
|
+
get supportsConditionalBreakpoints() {
|
|
57
|
+
return semver.satisfies(this.protocolVersion, '>=3.1.0');
|
|
58
|
+
}
|
|
41
59
|
once(eventName) {
|
|
42
60
|
return new Promise((resolve) => {
|
|
43
61
|
const disconnect = this.on(eventName, (...args) => {
|
|
@@ -67,19 +85,38 @@ class Debugger {
|
|
|
67
85
|
this.logger.log('connect', this.options);
|
|
68
86
|
const debugSetupEnd = 'total socket debugger setup time';
|
|
69
87
|
console.time(debugSetupEnd);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
this.controllerClient = await new Promise((resolve) => {
|
|
89
|
+
var _a;
|
|
90
|
+
const pendingSockets = new Set();
|
|
91
|
+
util_1.util.setInterval((cancelInterval) => {
|
|
92
|
+
const socket = new Net.Socket();
|
|
93
|
+
pendingSockets.add(socket);
|
|
94
|
+
socket.once('error', (error) => {
|
|
95
|
+
console.error('Encountered an error connecting to the debug protocol socket. Ignoring and will try again soon', error);
|
|
96
|
+
socket === null || socket === void 0 ? void 0 : socket.destroy();
|
|
97
|
+
pendingSockets.delete(socket);
|
|
98
|
+
});
|
|
99
|
+
socket.connect({ port: this.options.controllerPort, host: this.options.host }, () => {
|
|
100
|
+
this.logger.debug(`Connected to debug protocol controller port. Socket ${[...pendingSockets].indexOf(socket)} of ${pendingSockets.size} was the winner`);
|
|
101
|
+
//this socket successfully connected.
|
|
102
|
+
//remove this socket from the list of pending sockets
|
|
103
|
+
pendingSockets.delete(socket);
|
|
104
|
+
//clean up all remaining pending sockets
|
|
105
|
+
for (const pendingSocket of pendingSockets) {
|
|
106
|
+
pendingSocket === null || pendingSocket === void 0 ? void 0 : pendingSocket.destroy();
|
|
107
|
+
}
|
|
108
|
+
resolve(socket);
|
|
109
|
+
cancelInterval();
|
|
110
|
+
});
|
|
111
|
+
}, (_a = this.options.controllerConnectInterval) !== null && _a !== void 0 ? _a : 250);
|
|
82
112
|
});
|
|
113
|
+
// If there is no error, the server has accepted the request and created a new dedicated socket
|
|
114
|
+
this.logger.log('TCP connection established with the server.');
|
|
115
|
+
// The client can also receive data from the server by reading from its socket.
|
|
116
|
+
// The client can now send data to the server by writing to its socket.
|
|
117
|
+
let buffer = new smart_buffer_1.SmartBuffer({ size: Buffer.byteLength(Debugger.DEBUGGER_MAGIC) + 1 }).writeStringNT(Debugger.DEBUGGER_MAGIC).toBuffer();
|
|
118
|
+
this.logger.log('Sending magic to server');
|
|
119
|
+
this.controllerClient.write(buffer);
|
|
83
120
|
this.controllerClient.on('data', (buffer) => {
|
|
84
121
|
if (this.unhandledData) {
|
|
85
122
|
this.unhandledData = Buffer.concat([this.unhandledData, buffer]);
|
|
@@ -98,19 +135,9 @@ class Debugger {
|
|
|
98
135
|
console.error(`TCP connection error`, error);
|
|
99
136
|
this.shutdown('close');
|
|
100
137
|
});
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
console.timeEnd(debugSetupEnd);
|
|
105
|
-
if (connected) {
|
|
106
|
-
resolve(connected);
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
reject(connected);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
return connectPromise;
|
|
138
|
+
const isConnected = await this.once('connected');
|
|
139
|
+
console.timeEnd(debugSetupEnd);
|
|
140
|
+
return isConnected;
|
|
114
141
|
}
|
|
115
142
|
async continue() {
|
|
116
143
|
if (this.stopped) {
|
|
@@ -143,7 +170,7 @@ class Debugger {
|
|
|
143
170
|
if (this.stopped) {
|
|
144
171
|
this.stopped = false;
|
|
145
172
|
let stepResult = await this.makeRequest(buffer, Constants_1.COMMANDS.STEP);
|
|
146
|
-
if (stepResult.errorCode ===
|
|
173
|
+
if (stepResult.errorCode === Constants_1.ERROR_CODES.OK) {
|
|
147
174
|
// this.stopped = true;
|
|
148
175
|
// this.emit('suspend');
|
|
149
176
|
}
|
|
@@ -157,16 +184,23 @@ class Debugger {
|
|
|
157
184
|
async threads() {
|
|
158
185
|
if (this.stopped) {
|
|
159
186
|
let result = await this.makeRequest(new smart_buffer_1.SmartBuffer({ size: 12 }), Constants_1.COMMANDS.THREADS);
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
187
|
+
if (result.errorCode === Constants_1.ERROR_CODES.OK) {
|
|
188
|
+
//older versions of the debug protocol had issues with maintaining the active thread, so our workaround is to keep track of it elsewhere
|
|
189
|
+
if (this.enableThreadHoppingWorkaround) {
|
|
190
|
+
//ignore the `isPrimary` flag on threads
|
|
191
|
+
this.logger.debug(`Ignoring the 'isPrimary' flag from threads because protocol version ${this.protocolVersion} and lower has a bug`);
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
//trust the debug protocol's `isPrimary` flag on threads
|
|
195
|
+
for (let i = 0; i < result.threadsCount; i++) {
|
|
196
|
+
let thread = result.threads[i];
|
|
197
|
+
if (thread.isPrimary) {
|
|
198
|
+
this.primaryThread = i;
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
170
204
|
return result;
|
|
171
205
|
}
|
|
172
206
|
}
|
|
@@ -234,16 +268,35 @@ class Debugger {
|
|
|
234
268
|
}
|
|
235
269
|
}
|
|
236
270
|
async addBreakpoints(breakpoints) {
|
|
271
|
+
const { enableComponentLibrarySpecificBreakpoints } = this;
|
|
237
272
|
if ((breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.length) > 0) {
|
|
238
273
|
let buffer = new smart_buffer_1.SmartBuffer();
|
|
274
|
+
//set the `FLAGS` value if supported
|
|
275
|
+
if (this.supportsConditionalBreakpoints) {
|
|
276
|
+
buffer.writeUInt32LE(0); // flags - Should always be passed as 0. Unused, reserved for future use.
|
|
277
|
+
}
|
|
239
278
|
buffer.writeUInt32LE(breakpoints.length); // num_breakpoints - The number of breakpoints in the breakpoints array.
|
|
240
279
|
breakpoints.forEach((breakpoint) => {
|
|
241
|
-
var _a;
|
|
242
|
-
|
|
280
|
+
var _a, _b;
|
|
281
|
+
let { filePath } = breakpoint;
|
|
282
|
+
//protocol >= v3.1.0 requires complib breakpoints have a special prefix
|
|
283
|
+
if (enableComponentLibrarySpecificBreakpoints) {
|
|
284
|
+
if (breakpoint.componentLibraryName) {
|
|
285
|
+
filePath = filePath.replace(/^pkg:\//i, `lib:/${breakpoint.componentLibraryName}/`);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
buffer.writeStringNT(filePath); // file_path - The path of the source file where the breakpoint is to be inserted.
|
|
243
289
|
buffer.writeUInt32LE(breakpoint.lineNumber); // line_number - The line number in the channel application code where the breakpoint is to be executed.
|
|
244
290
|
buffer.writeUInt32LE((_a = breakpoint.hitCount) !== null && _a !== void 0 ? _a : 0); // ignore_count - The number of times to ignore the breakpoint condition before executing the breakpoint. This number is decremented each time the channel application reaches the breakpoint.
|
|
291
|
+
//if the protocol supports conditional breakpoints, add any present condition
|
|
292
|
+
if (this.supportsConditionalBreakpoints) {
|
|
293
|
+
//There's a bug in 3.1 where empty conditional expressions would crash the breakpoints, so just default to `true` which always succeeds
|
|
294
|
+
buffer.writeStringNT((_b = breakpoint.conditionalExpression) !== null && _b !== void 0 ? _b : 'true'); // cond_expr - the condition that must evaluate to `true` in order to hit the breakpoint
|
|
295
|
+
}
|
|
245
296
|
});
|
|
246
|
-
return this.makeRequest(buffer, Constants_1.COMMANDS.ADD_BREAKPOINTS
|
|
297
|
+
return this.makeRequest(buffer, this.supportsConditionalBreakpoints ? Constants_1.COMMANDS.ADD_CONDITIONAL_BREAKPOINTS : Constants_1.COMMANDS.ADD_BREAKPOINTS
|
|
298
|
+
//COMMANDS.ADD_BREAKPOINTS
|
|
299
|
+
);
|
|
247
300
|
}
|
|
248
301
|
return new AddBreakpointsResponse_1.AddBreakpointsResponse(null);
|
|
249
302
|
}
|
|
@@ -269,6 +322,7 @@ class Debugger {
|
|
|
269
322
|
buffer.insertUInt32LE(buffer.writeOffset + 4, 0); // packet_length - The size of the packet to be sent.
|
|
270
323
|
this.activeRequests[requestId] = {
|
|
271
324
|
commandType: command,
|
|
325
|
+
commandTypeText: Constants_1.COMMANDS[command],
|
|
272
326
|
extraData: extraData
|
|
273
327
|
};
|
|
274
328
|
return new Promise((resolve, reject) => {
|
|
@@ -279,6 +333,7 @@ class Debugger {
|
|
|
279
333
|
}
|
|
280
334
|
});
|
|
281
335
|
if (this.controllerClient) {
|
|
336
|
+
this.logger.debug('makeRequest', `requestId=${requestId}`, this.activeRequests[requestId]);
|
|
282
337
|
this.controllerClient.write(buffer.toBuffer());
|
|
283
338
|
}
|
|
284
339
|
else {
|
|
@@ -301,18 +356,18 @@ class Debugger {
|
|
|
301
356
|
this.removedProcessedBytes(debuggerRequestResponse, slicedBuffer, packetLength);
|
|
302
357
|
return true;
|
|
303
358
|
}
|
|
304
|
-
if (debuggerRequestResponse.errorCode !==
|
|
359
|
+
if (debuggerRequestResponse.errorCode !== Constants_1.ERROR_CODES.OK) {
|
|
305
360
|
this.logger.error(debuggerRequestResponse.errorCode, debuggerRequestResponse);
|
|
306
361
|
this.removedProcessedBytes(debuggerRequestResponse, buffer, packetLength);
|
|
307
362
|
return true;
|
|
308
363
|
}
|
|
309
364
|
if (debuggerRequestResponse.updateType > 0) {
|
|
310
|
-
this.logger.log('Update Type:',
|
|
365
|
+
this.logger.log('Update Type:', Constants_1.UPDATE_TYPES[debuggerRequestResponse.updateType]);
|
|
311
366
|
switch (debuggerRequestResponse.updateType) {
|
|
312
|
-
case
|
|
367
|
+
case Constants_1.UPDATE_TYPES.IO_PORT_OPENED:
|
|
313
368
|
return this.connectToIoPort(new responses_1.ConnectIOPortResponse(slicedBuffer), buffer, packetLength);
|
|
314
|
-
case
|
|
315
|
-
case
|
|
369
|
+
case Constants_1.UPDATE_TYPES.ALL_THREADS_STOPPED:
|
|
370
|
+
case Constants_1.UPDATE_TYPES.THREAD_ATTACHED:
|
|
316
371
|
let debuggerUpdateThreads = new responses_1.UpdateThreadsResponse(slicedBuffer);
|
|
317
372
|
if (debuggerUpdateThreads.success) {
|
|
318
373
|
this.handleThreadsUpdate(debuggerUpdateThreads);
|
|
@@ -320,7 +375,13 @@ class Debugger {
|
|
|
320
375
|
return true;
|
|
321
376
|
}
|
|
322
377
|
return false;
|
|
323
|
-
case
|
|
378
|
+
case Constants_1.UPDATE_TYPES.UNDEF:
|
|
379
|
+
return this.checkResponse(new responses_1.UndefinedResponse(slicedBuffer), buffer, packetLength);
|
|
380
|
+
case Constants_1.UPDATE_TYPES.BREAKPOINT_ERROR:
|
|
381
|
+
const response = new BreakpointErrorUpdateResponse_1.BreakpointErrorUpdateResponse(slicedBuffer);
|
|
382
|
+
//we do nothing with breakpoint errors at this time.
|
|
383
|
+
return this.checkResponse(response, buffer, packetLength);
|
|
384
|
+
case Constants_1.UPDATE_TYPES.COMPILE_ERROR:
|
|
324
385
|
return this.checkResponse(new responses_1.UndefinedResponse(slicedBuffer), buffer, packetLength);
|
|
325
386
|
default:
|
|
326
387
|
return this.checkResponse(new responses_1.UndefinedResponse(slicedBuffer), buffer, packetLength);
|
|
@@ -338,6 +399,7 @@ class Debugger {
|
|
|
338
399
|
case Constants_1.COMMANDS.EXECUTE:
|
|
339
400
|
return this.checkResponse(new ExecuteResponseV3_1.ExecuteResponseV3(slicedBuffer), buffer, packetLength);
|
|
340
401
|
case Constants_1.COMMANDS.ADD_BREAKPOINTS:
|
|
402
|
+
case Constants_1.COMMANDS.ADD_CONDITIONAL_BREAKPOINTS:
|
|
341
403
|
return this.checkResponse(new AddBreakpointsResponse_1.AddBreakpointsResponse(slicedBuffer), buffer, packetLength);
|
|
342
404
|
case Constants_1.COMMANDS.LIST_BREAKPOINTS:
|
|
343
405
|
return this.checkResponse(new ListBreakpointsResponse_1.ListBreakpointsResponse(slicedBuffer), buffer, packetLength);
|
|
@@ -382,12 +444,13 @@ class Debugger {
|
|
|
382
444
|
}
|
|
383
445
|
removedProcessedBytes(responseHandler, unhandledData, packetLength = 0) {
|
|
384
446
|
var _a, _b, _c;
|
|
447
|
+
const activeRequest = this.activeRequests[responseHandler.requestId];
|
|
385
448
|
if (responseHandler.requestId > 0 && this.activeRequests[responseHandler.requestId]) {
|
|
386
449
|
delete this.activeRequests[responseHandler.requestId];
|
|
387
450
|
}
|
|
388
451
|
this.emit('data', responseHandler);
|
|
389
452
|
this.unhandledData = unhandledData.slice(packetLength ? packetLength : responseHandler.readOffset);
|
|
390
|
-
this.logger.debug('[raw]', (_c = (_b = (_a = responseHandler) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '', responseHandler);
|
|
453
|
+
this.logger.debug('[raw]', `requestId=${responseHandler === null || responseHandler === void 0 ? void 0 : responseHandler.requestId}`, activeRequest, (_c = (_b = (_a = responseHandler) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : '', responseHandler);
|
|
391
454
|
this.parseUnhandledData(this.unhandledData);
|
|
392
455
|
}
|
|
393
456
|
verifyHandshake(debuggerHandshake) {
|
|
@@ -478,7 +541,7 @@ class Debugger {
|
|
|
478
541
|
this.stopped = true;
|
|
479
542
|
let stopReason = update.data.stopReason;
|
|
480
543
|
let eventName = stopReason === Constants_1.STOP_REASONS.RUNTIME_ERROR ? 'runtime-error' : 'suspend';
|
|
481
|
-
if (update.updateType ===
|
|
544
|
+
if (update.updateType === Constants_1.UPDATE_TYPES.ALL_THREADS_STOPPED) {
|
|
482
545
|
if (stopReason === Constants_1.STOP_REASONS.RUNTIME_ERROR || stopReason === Constants_1.STOP_REASONS.BREAK || stopReason === Constants_1.STOP_REASONS.STOP_STATEMENT) {
|
|
483
546
|
this.primaryThread = update.data.primaryThreadIndex;
|
|
484
547
|
this.stackFrameIndex = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Debugger.js","sourceRoot":"","sources":["../../src/debugProtocol/Debugger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Debugger.js","sourceRoot":"","sources":["../../src/debugProtocol/Debugger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* Data sent as the data segment of message type: BREAKPOINT_ERROR
|
|
4
|
+
```
|
|
5
|
+
struct BreakpointErrorUpdateData {
|
|
6
|
+
uint32 flags; // Always 0, reserved for future use
|
|
7
|
+
uint32 breakpoint_id;
|
|
8
|
+
uint32 num_compile_errors;
|
|
9
|
+
utf8z[num_compile_errors] compile_errors;
|
|
10
|
+
uint32 num_runtime_errors;
|
|
11
|
+
utf8z[num_runtime_errors] runtime_errors;
|
|
12
|
+
uint32 num_other_errors; // E.g., permissions errors
|
|
13
|
+
utf8z[num_other_errors] other_errors;
|
|
14
|
+
}
|
|
15
|
+
```
|
|
16
|
+
*/
|
|
17
|
+
export declare class BreakpointErrorUpdateResponse {
|
|
18
|
+
constructor(buffer: Buffer);
|
|
19
|
+
success: boolean;
|
|
20
|
+
readOffset: number;
|
|
21
|
+
requestId: number;
|
|
22
|
+
errorCode: number;
|
|
23
|
+
updateType: number;
|
|
24
|
+
flags: number;
|
|
25
|
+
breakpointId: number;
|
|
26
|
+
compileErrorCount: number;
|
|
27
|
+
compileErrors: string[];
|
|
28
|
+
runtimeErrorCount: number;
|
|
29
|
+
runtimeErrors: string[];
|
|
30
|
+
otherErrorCount: number;
|
|
31
|
+
otherErrors: string[];
|
|
32
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BreakpointErrorUpdateResponse = void 0;
|
|
4
|
+
const smart_buffer_1 = require("smart-buffer");
|
|
5
|
+
const util_1 = require("../../util");
|
|
6
|
+
const Constants_1 = require("../Constants");
|
|
7
|
+
/**
|
|
8
|
+
* Data sent as the data segment of message type: BREAKPOINT_ERROR
|
|
9
|
+
```
|
|
10
|
+
struct BreakpointErrorUpdateData {
|
|
11
|
+
uint32 flags; // Always 0, reserved for future use
|
|
12
|
+
uint32 breakpoint_id;
|
|
13
|
+
uint32 num_compile_errors;
|
|
14
|
+
utf8z[num_compile_errors] compile_errors;
|
|
15
|
+
uint32 num_runtime_errors;
|
|
16
|
+
utf8z[num_runtime_errors] runtime_errors;
|
|
17
|
+
uint32 num_other_errors; // E.g., permissions errors
|
|
18
|
+
utf8z[num_other_errors] other_errors;
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
*/
|
|
22
|
+
class BreakpointErrorUpdateResponse {
|
|
23
|
+
constructor(buffer) {
|
|
24
|
+
this.success = false;
|
|
25
|
+
this.readOffset = 0;
|
|
26
|
+
this.requestId = -1;
|
|
27
|
+
this.errorCode = -1;
|
|
28
|
+
this.updateType = -1;
|
|
29
|
+
this.compileErrors = [];
|
|
30
|
+
this.runtimeErrors = [];
|
|
31
|
+
this.otherErrors = [];
|
|
32
|
+
// The minimum size of a undefined response
|
|
33
|
+
if (buffer.byteLength >= 12) {
|
|
34
|
+
let bufferReader = smart_buffer_1.SmartBuffer.fromBuffer(buffer);
|
|
35
|
+
this.requestId = bufferReader.readUInt32LE();
|
|
36
|
+
// Updates will always have an id of zero because we didn't ask for this information
|
|
37
|
+
if (this.requestId === 0) {
|
|
38
|
+
this.errorCode = bufferReader.readUInt32LE();
|
|
39
|
+
this.updateType = bufferReader.readUInt32LE();
|
|
40
|
+
}
|
|
41
|
+
if (this.updateType === Constants_1.UPDATE_TYPES.BREAKPOINT_ERROR) {
|
|
42
|
+
try {
|
|
43
|
+
this.flags = bufferReader.readUInt32LE(); // flags - always 0, reserved for future use
|
|
44
|
+
this.breakpointId = bufferReader.readUInt32LE(); // breakpoint_id
|
|
45
|
+
this.compileErrorCount = bufferReader.readUInt32LE(); // num_compile_errors
|
|
46
|
+
for (let i = 0; i < this.compileErrorCount; i++) {
|
|
47
|
+
this.compileErrors.push(util_1.util.readStringNT(bufferReader));
|
|
48
|
+
}
|
|
49
|
+
this.runtimeErrorCount = bufferReader.readUInt32LE(); // num_runtime_errors
|
|
50
|
+
for (let i = 0; i < this.runtimeErrorCount; i++) {
|
|
51
|
+
this.runtimeErrors.push(util_1.util.readStringNT(bufferReader));
|
|
52
|
+
}
|
|
53
|
+
this.otherErrorCount = bufferReader.readUInt32LE(); // num_other_errors
|
|
54
|
+
for (let i = 0; i < this.otherErrorCount; i++) {
|
|
55
|
+
this.otherErrors.push(util_1.util.readStringNT(bufferReader));
|
|
56
|
+
}
|
|
57
|
+
this.success = true;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
// Could not process
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.BreakpointErrorUpdateResponse = BreakpointErrorUpdateResponse;
|
|
67
|
+
//# sourceMappingURL=BreakpointErrorUpdateResponse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreakpointErrorUpdateResponse.js","sourceRoot":"","sources":["../../../src/debugProtocol/responses/BreakpointErrorUpdateResponse.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,qCAAkC;AAClC,4CAA4C;AAE5C;;;;;;;;;;;;;;EAcE;AACF,MAAa,6BAA6B;IAEtC,YAAY,MAAc;QA2CnB,YAAO,GAAG,KAAK,CAAC;QAChB,eAAU,GAAG,CAAC,CAAC;QACf,cAAS,GAAG,CAAC,CAAC,CAAC;QACf,cAAS,GAAG,CAAC,CAAC,CAAC;QACf,eAAU,GAAG,CAAC,CAAC,CAAC;QAMhB,kBAAa,GAAa,EAAE,CAAC;QAG7B,kBAAa,GAAa,EAAE,CAAC;QAG7B,gBAAW,GAAa,EAAE,CAAC;QA1D9B,2CAA2C;QAC3C,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,IAAI,YAAY,GAAG,0BAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YAE7C,oFAAoF;YACpF,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;gBACtB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;gBAC7C,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;aACjD;YACD,IAAI,IAAI,CAAC,UAAU,KAAK,wBAAY,CAAC,gBAAgB,EAAE;gBACnD,IAAI;oBACA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,4CAA4C;oBACtF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,gBAAgB;oBAEjE,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,qBAAqB;oBAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE;wBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CACnB,WAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAClC,CAAC;qBACL;oBAED,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,qBAAqB;oBAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE;wBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CACnB,WAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAClC,CAAC;qBACL;oBAED,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,mBAAmB;oBACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE;wBAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,WAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAClC,CAAC;qBACL;oBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;iBACvB;gBAAC,OAAO,KAAK,EAAE;oBACZ,oBAAoB;iBACvB;aACJ;SACJ;IACL,CAAC;CAkBJ;AA9DD,sEA8DC"}
|
|
@@ -120,8 +120,13 @@ class VariableInfo {
|
|
|
120
120
|
this.value = 'Unknown';
|
|
121
121
|
this.success = true;
|
|
122
122
|
break;
|
|
123
|
+
case 'Invalid':
|
|
124
|
+
this.value = 'Invalid';
|
|
125
|
+
this.success = true;
|
|
126
|
+
break;
|
|
123
127
|
case 'AA':
|
|
124
128
|
case 'Array':
|
|
129
|
+
case 'List':
|
|
125
130
|
this.value = null;
|
|
126
131
|
this.success = true;
|
|
127
132
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableResponse.js","sourceRoot":"","sources":["../../../src/debugProtocol/responses/VariableResponse.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAC/B,+CAA2C;AAC3C,4CAA8D;AAC9D,qCAAkC;AAElC,MAAa,gBAAgB;IAEzB,YAAY,MAAc;QA6BnB,YAAO,GAAG,KAAK,CAAC;QAChB,eAAU,GAAG,CAAC,CAAC;QAEtB,kBAAkB;QACX,cAAS,GAAG,CAAC,CAAC,CAAC;QACf,cAAS,GAAG,CAAC,CAAC,CAAC;QACf,iBAAY,GAAG,CAAC,CAAC,CAAC;QAClB,cAAS,GAAG,EAAoB,CAAC;QAnCpC,yCAAyC;QACzC,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE;YACzB,IAAI;gBACA,IAAI,YAAY,GAAG,0BAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;gBAE7C,8EAA8E;gBAC9E,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;oBAC7C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;oBAEhD,kFAAkF;oBAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE;wBACxC,IAAI,YAAY,GAAG,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;wBAClD,IAAI,YAAY,CAAC,OAAO,EAAE;4BACtB,4EAA4E;4BAC5E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;yBACrC;qBACJ;oBAED,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;oBAC1C,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;iBAChE;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,oBAAoB;aACvB;SACJ;IACL,CAAC;CASJ;AAvCD,4CAuCC;AAED,MAAa,YAAY;IAErB,YAAY,YAAyB;
|
|
1
|
+
{"version":3,"file":"VariableResponse.js","sourceRoot":"","sources":["../../../src/debugProtocol/responses/VariableResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
|
|
|
43
43
|
initializeRequest(response: DebugProtocol.InitializeResponse, args: DebugProtocol.InitializeRequestArguments): void;
|
|
44
44
|
private showPopupMessage;
|
|
45
45
|
launchRequest(response: DebugProtocol.LaunchResponse, config: LaunchConfiguration): Promise<void>;
|
|
46
|
+
private connectAndPublish;
|
|
46
47
|
/**
|
|
47
48
|
* Send log output to the "client" (i.e. vscode)
|
|
48
49
|
* @param logOutput
|
|
@@ -243,15 +243,10 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
|
|
|
243
243
|
this.launchConfiguration.failOnCompileError = false;
|
|
244
244
|
// Set the remote debug flag on the args to be passed to roku deploy so the socket debugger can be started if needed.
|
|
245
245
|
this.launchConfiguration.remoteDebug = this.enableDebugProtocol;
|
|
246
|
-
|
|
247
|
-
await this.rokuDeploy.publish(this.launchConfiguration);
|
|
246
|
+
await this.connectAndPublish();
|
|
248
247
|
this.sendEvent(new Events_1.ChannelPublishedEvent({
|
|
249
248
|
launchConfiguration: this.launchConfiguration
|
|
250
249
|
}));
|
|
251
|
-
if (this.enableDebugProtocol) {
|
|
252
|
-
//connect to the roku debug via sockets
|
|
253
|
-
await this.connectRokuAdapter();
|
|
254
|
-
}
|
|
255
250
|
//tell the adapter adapter that the channel has been launched.
|
|
256
251
|
await this.rokuAdapter.activate();
|
|
257
252
|
if (!error) {
|
|
@@ -299,14 +294,46 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
|
|
|
299
294
|
await this.rokuAdapter.continue();
|
|
300
295
|
//kill the app on the roku
|
|
301
296
|
await this.rokuDeploy.pressHomeButton(this.launchConfiguration.host, this.launchConfiguration.remotePort);
|
|
297
|
+
//convert a hostname to an ip address
|
|
298
|
+
const deepLinkUrl = await util_1.util.resolveUrl(this.launchConfiguration.deepLinkUrl);
|
|
302
299
|
//send the deep link http request
|
|
303
300
|
await new Promise((resolve, reject) => {
|
|
304
|
-
request.post(
|
|
301
|
+
request.post(deepLinkUrl, (err, response) => {
|
|
305
302
|
return err ? reject(err) : resolve(response);
|
|
306
303
|
});
|
|
307
304
|
});
|
|
308
305
|
}
|
|
309
306
|
}
|
|
307
|
+
async connectAndPublish() {
|
|
308
|
+
let connectPromise;
|
|
309
|
+
//connect to the roku debug via sockets
|
|
310
|
+
if (this.enableDebugProtocol) {
|
|
311
|
+
connectPromise = this.connectRokuAdapter().catch(e => this.logger.error(e));
|
|
312
|
+
}
|
|
313
|
+
let packageIsPublished = false;
|
|
314
|
+
//publish the package to the target Roku
|
|
315
|
+
const publishPromise = this.rokuDeploy.publish(this.launchConfiguration).then(() => {
|
|
316
|
+
packageIsPublished = true;
|
|
317
|
+
});
|
|
318
|
+
await publishPromise;
|
|
319
|
+
//the channel has been deployed. Wait for the adapter to finish connecting.
|
|
320
|
+
//if it hasn't connected after 5 seconds, it probably will never connect.
|
|
321
|
+
await Promise.race([
|
|
322
|
+
connectPromise,
|
|
323
|
+
util_1.util.sleep(5000)
|
|
324
|
+
]);
|
|
325
|
+
this.logger.log('Finished racing promises');
|
|
326
|
+
//if the adapter is still not connected, then it will probably never connect. Abort.
|
|
327
|
+
if (packageIsPublished && !this.rokuAdapter.connected) {
|
|
328
|
+
//kill the session cuz it won't ever come back
|
|
329
|
+
await this.rokuDeploy.pressHomeButton(this.launchConfiguration.host, this.launchConfiguration.remotePort);
|
|
330
|
+
const message = 'Debug session cancelled: failed to connect to debug protocol control port.';
|
|
331
|
+
this.showPopupMessage(message, 'error');
|
|
332
|
+
this.logger.error(message);
|
|
333
|
+
this.shutdown();
|
|
334
|
+
this.sendEvent(new vscode_debugadapter_1.TerminatedEvent());
|
|
335
|
+
}
|
|
336
|
+
}
|
|
310
337
|
/**
|
|
311
338
|
* Send log output to the "client" (i.e. vscode)
|
|
312
339
|
* @param logOutput
|
|
@@ -850,7 +877,7 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
|
|
|
850
877
|
//when the debugger suspends (pauses for debugger input)
|
|
851
878
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
852
879
|
this.rokuAdapter.on('suspend', async () => {
|
|
853
|
-
var _a;
|
|
880
|
+
var _a, _b;
|
|
854
881
|
//sync breakpoints
|
|
855
882
|
await ((_a = this.rokuAdapter) === null || _a === void 0 ? void 0 : _a.syncBreakpoints());
|
|
856
883
|
this.logger.info('received "suspend" event from adapter');
|
|
@@ -877,7 +904,9 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
|
|
|
877
904
|
}
|
|
878
905
|
}
|
|
879
906
|
this.clearState();
|
|
880
|
-
const event = new vscode_debugadapter_1.StoppedEvent(Events_1.StoppedEventReason.breakpoint,
|
|
907
|
+
const event = new vscode_debugadapter_1.StoppedEvent(Events_1.StoppedEventReason.breakpoint,
|
|
908
|
+
//Not sure why, but sometimes there is no active thread. Just pick thread 0 to prevent the app from totally crashing
|
|
909
|
+
(_b = activeThread === null || activeThread === void 0 ? void 0 : activeThread.threadId) !== null && _b !== void 0 ? _b : 0, '' //exception text
|
|
881
910
|
);
|
|
882
911
|
// Socket debugger will always stop all threads and supports multi thread inspection.
|
|
883
912
|
event.body.allThreadsStopped = this.enableDebugProtocol;
|
|
@@ -990,7 +1019,7 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
|
|
|
990
1019
|
async handleEntryBreakpoint() {
|
|
991
1020
|
if (!this.enableDebugProtocol) {
|
|
992
1021
|
this.entryBreakpointWasHandled = true;
|
|
993
|
-
if (this.launchConfiguration.stopOnEntry) {
|
|
1022
|
+
if (this.launchConfiguration.stopOnEntry || this.launchConfiguration.deepLinkUrl) {
|
|
994
1023
|
await this.projectManager.registerEntryBreakpoint(this.projectManager.mainProject.stagingFolderPath);
|
|
995
1024
|
}
|
|
996
1025
|
}
|