roku-debug 0.14.2 → 0.16.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 +30 -0
- package/dist/CompileErrorProcessor.d.ts +60 -21
- package/dist/CompileErrorProcessor.js +175 -177
- package/dist/CompileErrorProcessor.js.map +1 -1
- package/dist/RendezvousTracker.js +13 -9
- package/dist/RendezvousTracker.js.map +1 -1
- package/dist/adapters/DebugProtocolAdapter.d.ts +2 -4
- package/dist/adapters/DebugProtocolAdapter.js +3 -2
- package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
- package/dist/adapters/TelnetAdapter.d.ts +2 -4
- package/dist/adapters/TelnetAdapter.js +3 -7
- 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 +13 -0
- package/dist/debugProtocol/Debugger.js +92 -51
- 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 +4 -0
- package/dist/debugSession/BrightScriptDebugSession.js +36 -35
- package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
- package/dist/debugSession/Events.d.ts +102 -43
- package/dist/debugSession/Events.js +120 -30
- package/dist/debugSession/Events.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/util.d.ts +9 -16
- package/dist/util.js +26 -42
- package/dist/util.js.map +1 -1
- package/package.json +3 -3
- package/roku-debug-0.16.0.tgz +0 -0
- package/roku-debug-0.14.2.tgz +0 -0
|
@@ -8,12 +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");
|
|
16
15
|
const util_1 = require("../util");
|
|
16
|
+
const BreakpointErrorUpdateResponse_1 = require("./responses/BreakpointErrorUpdateResponse");
|
|
17
17
|
class Debugger {
|
|
18
18
|
constructor(options) {
|
|
19
19
|
this.logger = logging_1.logger.createLogger(`[${Debugger.name}]`);
|
|
@@ -50,6 +50,12 @@ class Debugger {
|
|
|
50
50
|
get enableComponentLibrarySpecificBreakpoints() {
|
|
51
51
|
return semver.satisfies(this.protocolVersion, '>=3.1.0');
|
|
52
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
|
+
}
|
|
53
59
|
once(eventName) {
|
|
54
60
|
return new Promise((resolve) => {
|
|
55
61
|
const disconnect = this.on(eventName, (...args) => {
|
|
@@ -75,49 +81,52 @@ class Debugger {
|
|
|
75
81
|
(_a = this.emitter) === null || _a === void 0 ? void 0 : _a.emit(eventName, data);
|
|
76
82
|
}, 0);
|
|
77
83
|
}
|
|
78
|
-
async
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var _a;
|
|
88
|
-
console.error('Encountered an error connecting to the debug protocol socket. Ignoring and will try again soon', error);
|
|
89
|
-
(_a = this.controllerClient) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
84
|
+
async establishControllerConnection() {
|
|
85
|
+
const pendingSockets = new Set();
|
|
86
|
+
const connection = await new Promise((resolve) => {
|
|
87
|
+
var _a;
|
|
88
|
+
util_1.util.setInterval((cancelInterval) => {
|
|
89
|
+
const socket = new Net.Socket();
|
|
90
|
+
pendingSockets.add(socket);
|
|
91
|
+
socket.on('error', (error) => {
|
|
92
|
+
console.debug(Date.now(), 'Encountered an error connecting to the debug protocol socket. Ignoring and will try again soon', error);
|
|
90
93
|
});
|
|
91
|
-
|
|
92
|
-
|
|
94
|
+
socket.connect({ port: this.options.controllerPort, host: this.options.host }, () => {
|
|
95
|
+
cancelInterval();
|
|
96
|
+
this.logger.debug(`Connected to debug protocol controller port. Socket ${[...pendingSockets].indexOf(socket)} of ${pendingSockets.size} was the winner`);
|
|
97
|
+
//clean up all remaining pending sockets
|
|
98
|
+
for (const pendingSocket of pendingSockets) {
|
|
99
|
+
pendingSocket.removeAllListeners();
|
|
100
|
+
//cleanup and destroy all other sockets
|
|
101
|
+
if (pendingSocket !== socket) {
|
|
102
|
+
pendingSocket.end();
|
|
103
|
+
pendingSocket === null || pendingSocket === void 0 ? void 0 : pendingSocket.destroy();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
pendingSockets.clear();
|
|
107
|
+
resolve(socket);
|
|
93
108
|
});
|
|
94
|
-
});
|
|
95
|
-
}, {
|
|
96
|
-
onCancel: async () => {
|
|
97
|
-
var _a;
|
|
98
|
-
(_a = this.controllerClient) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
99
|
-
this.controllerClient = undefined;
|
|
100
|
-
//small timeout to let the connection destroy settle
|
|
101
|
-
await util_1.util.sleep(5);
|
|
102
|
-
},
|
|
103
|
-
tryTime: (_a = this.options.controllerConnectInterval) !== null && _a !== void 0 ? _a : 250,
|
|
104
|
-
totalTime: (_b = this.options.controllerConnectMaxTime) !== null && _b !== void 0 ? _b : 5 * 60 * 1000 //5 minutes
|
|
109
|
+
}, (_a = this.options.controllerConnectInterval) !== null && _a !== void 0 ? _a : 250);
|
|
105
110
|
});
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this.
|
|
112
|
-
this.controllerClient.write(buffer);
|
|
111
|
+
return connection;
|
|
112
|
+
}
|
|
113
|
+
async connect() {
|
|
114
|
+
this.logger.log('connect', this.options);
|
|
115
|
+
// If there is no error, the server has accepted the request and created a new dedicated control socket
|
|
116
|
+
this.controllerClient = await this.establishControllerConnection();
|
|
113
117
|
this.controllerClient.on('data', (buffer) => {
|
|
118
|
+
var _a, _b;
|
|
114
119
|
if (this.unhandledData) {
|
|
115
120
|
this.unhandledData = Buffer.concat([this.unhandledData, buffer]);
|
|
116
121
|
}
|
|
117
122
|
else {
|
|
118
123
|
this.unhandledData = buffer;
|
|
119
124
|
}
|
|
125
|
+
this.logger.debug(`on('data'): incoming bytes`, buffer.length);
|
|
126
|
+
const startBufferSize = this.unhandledData.length;
|
|
120
127
|
this.parseUnhandledData(this.unhandledData);
|
|
128
|
+
const endBufferSize = (_b = (_a = this.unhandledData) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
|
129
|
+
this.logger.debug(`buffer size before:`, startBufferSize, ', buffer size after:', endBufferSize, ', bytes consumed:', startBufferSize - endBufferSize);
|
|
121
130
|
});
|
|
122
131
|
this.controllerClient.on('end', () => {
|
|
123
132
|
this.logger.log('TCP connection closed');
|
|
@@ -125,13 +134,21 @@ class Debugger {
|
|
|
125
134
|
});
|
|
126
135
|
// Don't forget to catch error, for your own sake.
|
|
127
136
|
this.controllerClient.once('error', (error) => {
|
|
128
|
-
|
|
137
|
+
//the Roku closed the connection for some unknown reason...
|
|
138
|
+
console.error(`TCP connection error on control port`, error);
|
|
129
139
|
this.shutdown('close');
|
|
130
140
|
});
|
|
141
|
+
//send the magic, which triggers the debug session
|
|
142
|
+
this.sendMagic();
|
|
143
|
+
//wait for the handshake response from the device
|
|
131
144
|
const isConnected = await this.once('connected');
|
|
132
|
-
console.timeEnd(debugSetupEnd);
|
|
133
145
|
return isConnected;
|
|
134
146
|
}
|
|
147
|
+
sendMagic() {
|
|
148
|
+
let buffer = new smart_buffer_1.SmartBuffer({ size: Buffer.byteLength(Debugger.DEBUGGER_MAGIC) + 1 }).writeStringNT(Debugger.DEBUGGER_MAGIC).toBuffer();
|
|
149
|
+
this.logger.log('Sending magic to server');
|
|
150
|
+
this.controllerClient.write(buffer);
|
|
151
|
+
}
|
|
135
152
|
async continue() {
|
|
136
153
|
if (this.stopped) {
|
|
137
154
|
this.stopped = false;
|
|
@@ -163,7 +180,7 @@ class Debugger {
|
|
|
163
180
|
if (this.stopped) {
|
|
164
181
|
this.stopped = false;
|
|
165
182
|
let stepResult = await this.makeRequest(buffer, Constants_1.COMMANDS.STEP);
|
|
166
|
-
if (stepResult.errorCode ===
|
|
183
|
+
if (stepResult.errorCode === Constants_1.ERROR_CODES.OK) {
|
|
167
184
|
// this.stopped = true;
|
|
168
185
|
// this.emit('suspend');
|
|
169
186
|
}
|
|
@@ -177,7 +194,7 @@ class Debugger {
|
|
|
177
194
|
async threads() {
|
|
178
195
|
if (this.stopped) {
|
|
179
196
|
let result = await this.makeRequest(new smart_buffer_1.SmartBuffer({ size: 12 }), Constants_1.COMMANDS.THREADS);
|
|
180
|
-
if (result.errorCode ===
|
|
197
|
+
if (result.errorCode === Constants_1.ERROR_CODES.OK) {
|
|
181
198
|
//older versions of the debug protocol had issues with maintaining the active thread, so our workaround is to keep track of it elsewhere
|
|
182
199
|
if (this.enableThreadHoppingWorkaround) {
|
|
183
200
|
//ignore the `isPrimary` flag on threads
|
|
@@ -264,9 +281,13 @@ class Debugger {
|
|
|
264
281
|
const { enableComponentLibrarySpecificBreakpoints } = this;
|
|
265
282
|
if ((breakpoints === null || breakpoints === void 0 ? void 0 : breakpoints.length) > 0) {
|
|
266
283
|
let buffer = new smart_buffer_1.SmartBuffer();
|
|
284
|
+
//set the `FLAGS` value if supported
|
|
285
|
+
if (this.supportsConditionalBreakpoints) {
|
|
286
|
+
buffer.writeUInt32LE(0); // flags - Should always be passed as 0. Unused, reserved for future use.
|
|
287
|
+
}
|
|
267
288
|
buffer.writeUInt32LE(breakpoints.length); // num_breakpoints - The number of breakpoints in the breakpoints array.
|
|
268
289
|
breakpoints.forEach((breakpoint) => {
|
|
269
|
-
var _a;
|
|
290
|
+
var _a, _b;
|
|
270
291
|
let { filePath } = breakpoint;
|
|
271
292
|
//protocol >= v3.1.0 requires complib breakpoints have a special prefix
|
|
272
293
|
if (enableComponentLibrarySpecificBreakpoints) {
|
|
@@ -277,8 +298,15 @@ class Debugger {
|
|
|
277
298
|
buffer.writeStringNT(filePath); // file_path - The path of the source file where the breakpoint is to be inserted.
|
|
278
299
|
buffer.writeUInt32LE(breakpoint.lineNumber); // line_number - The line number in the channel application code where the breakpoint is to be executed.
|
|
279
300
|
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.
|
|
301
|
+
//if the protocol supports conditional breakpoints, add any present condition
|
|
302
|
+
if (this.supportsConditionalBreakpoints) {
|
|
303
|
+
//There's a bug in 3.1 where empty conditional expressions would crash the breakpoints, so just default to `true` which always succeeds
|
|
304
|
+
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
|
|
305
|
+
}
|
|
280
306
|
});
|
|
281
|
-
return this.makeRequest(buffer, Constants_1.COMMANDS.ADD_BREAKPOINTS
|
|
307
|
+
return this.makeRequest(buffer, this.supportsConditionalBreakpoints ? Constants_1.COMMANDS.ADD_CONDITIONAL_BREAKPOINTS : Constants_1.COMMANDS.ADD_BREAKPOINTS
|
|
308
|
+
//COMMANDS.ADD_BREAKPOINTS
|
|
309
|
+
);
|
|
282
310
|
}
|
|
283
311
|
return new AddBreakpointsResponse_1.AddBreakpointsResponse(null);
|
|
284
312
|
}
|
|
@@ -304,6 +332,7 @@ class Debugger {
|
|
|
304
332
|
buffer.insertUInt32LE(buffer.writeOffset + 4, 0); // packet_length - The size of the packet to be sent.
|
|
305
333
|
this.activeRequests[requestId] = {
|
|
306
334
|
commandType: command,
|
|
335
|
+
commandTypeText: Constants_1.COMMANDS[command],
|
|
307
336
|
extraData: extraData
|
|
308
337
|
};
|
|
309
338
|
return new Promise((resolve, reject) => {
|
|
@@ -313,6 +342,7 @@ class Debugger {
|
|
|
313
342
|
resolve(data);
|
|
314
343
|
}
|
|
315
344
|
});
|
|
345
|
+
this.logger.debug('makeRequest', `requestId=${requestId}`, this.activeRequests[requestId]);
|
|
316
346
|
if (this.controllerClient) {
|
|
317
347
|
this.controllerClient.write(buffer.toBuffer());
|
|
318
348
|
}
|
|
@@ -330,24 +360,24 @@ class Debugger {
|
|
|
330
360
|
let debuggerRequestResponse = this.watchPacketLength ? new responses_1.ProtocolEventV3(buffer) : new responses_1.ProtocolEvent(buffer);
|
|
331
361
|
let packetLength = debuggerRequestResponse.packetLength;
|
|
332
362
|
let slicedBuffer = packetLength ? buffer.slice(4) : buffer;
|
|
333
|
-
this.logger.log(
|
|
363
|
+
this.logger.log(`incoming bytes: ${buffer.length}`, debuggerRequestResponse);
|
|
334
364
|
if (debuggerRequestResponse.success) {
|
|
335
365
|
if (debuggerRequestResponse.requestId > this.totalRequests) {
|
|
336
366
|
this.removedProcessedBytes(debuggerRequestResponse, slicedBuffer, packetLength);
|
|
337
367
|
return true;
|
|
338
368
|
}
|
|
339
|
-
if (debuggerRequestResponse.errorCode !==
|
|
369
|
+
if (debuggerRequestResponse.errorCode !== Constants_1.ERROR_CODES.OK) {
|
|
340
370
|
this.logger.error(debuggerRequestResponse.errorCode, debuggerRequestResponse);
|
|
341
371
|
this.removedProcessedBytes(debuggerRequestResponse, buffer, packetLength);
|
|
342
372
|
return true;
|
|
343
373
|
}
|
|
344
374
|
if (debuggerRequestResponse.updateType > 0) {
|
|
345
|
-
this.logger.log('Update Type:',
|
|
375
|
+
this.logger.log('Update Type:', Constants_1.UPDATE_TYPES[debuggerRequestResponse.updateType]);
|
|
346
376
|
switch (debuggerRequestResponse.updateType) {
|
|
347
|
-
case
|
|
377
|
+
case Constants_1.UPDATE_TYPES.IO_PORT_OPENED:
|
|
348
378
|
return this.connectToIoPort(new responses_1.ConnectIOPortResponse(slicedBuffer), buffer, packetLength);
|
|
349
|
-
case
|
|
350
|
-
case
|
|
379
|
+
case Constants_1.UPDATE_TYPES.ALL_THREADS_STOPPED:
|
|
380
|
+
case Constants_1.UPDATE_TYPES.THREAD_ATTACHED:
|
|
351
381
|
let debuggerUpdateThreads = new responses_1.UpdateThreadsResponse(slicedBuffer);
|
|
352
382
|
if (debuggerUpdateThreads.success) {
|
|
353
383
|
this.handleThreadsUpdate(debuggerUpdateThreads);
|
|
@@ -355,7 +385,13 @@ class Debugger {
|
|
|
355
385
|
return true;
|
|
356
386
|
}
|
|
357
387
|
return false;
|
|
358
|
-
case
|
|
388
|
+
case Constants_1.UPDATE_TYPES.UNDEF:
|
|
389
|
+
return this.checkResponse(new responses_1.UndefinedResponse(slicedBuffer), buffer, packetLength);
|
|
390
|
+
case Constants_1.UPDATE_TYPES.BREAKPOINT_ERROR:
|
|
391
|
+
const response = new BreakpointErrorUpdateResponse_1.BreakpointErrorUpdateResponse(slicedBuffer);
|
|
392
|
+
//we do nothing with breakpoint errors at this time.
|
|
393
|
+
return this.checkResponse(response, buffer, packetLength);
|
|
394
|
+
case Constants_1.UPDATE_TYPES.COMPILE_ERROR:
|
|
359
395
|
return this.checkResponse(new responses_1.UndefinedResponse(slicedBuffer), buffer, packetLength);
|
|
360
396
|
default:
|
|
361
397
|
return this.checkResponse(new responses_1.UndefinedResponse(slicedBuffer), buffer, packetLength);
|
|
@@ -373,6 +409,7 @@ class Debugger {
|
|
|
373
409
|
case Constants_1.COMMANDS.EXECUTE:
|
|
374
410
|
return this.checkResponse(new ExecuteResponseV3_1.ExecuteResponseV3(slicedBuffer), buffer, packetLength);
|
|
375
411
|
case Constants_1.COMMANDS.ADD_BREAKPOINTS:
|
|
412
|
+
case Constants_1.COMMANDS.ADD_CONDITIONAL_BREAKPOINTS:
|
|
376
413
|
return this.checkResponse(new AddBreakpointsResponse_1.AddBreakpointsResponse(slicedBuffer), buffer, packetLength);
|
|
377
414
|
case Constants_1.COMMANDS.LIST_BREAKPOINTS:
|
|
378
415
|
return this.checkResponse(new ListBreakpointsResponse_1.ListBreakpointsResponse(slicedBuffer), buffer, packetLength);
|
|
@@ -393,6 +430,7 @@ class Debugger {
|
|
|
393
430
|
else {
|
|
394
431
|
let debuggerHandshake;
|
|
395
432
|
debuggerHandshake = new responses_1.HandshakeResponseV3(buffer);
|
|
433
|
+
this.logger.log(`incoming bytes: ${buffer.length}`, debuggerHandshake);
|
|
396
434
|
if (!debuggerHandshake.success) {
|
|
397
435
|
debuggerHandshake = new responses_1.HandshakeResponse(buffer);
|
|
398
436
|
}
|
|
@@ -400,6 +438,8 @@ class Debugger {
|
|
|
400
438
|
this.handshakeComplete = true;
|
|
401
439
|
this.verifyHandshake(debuggerHandshake);
|
|
402
440
|
this.removedProcessedBytes(debuggerHandshake, buffer);
|
|
441
|
+
//once the handshake is complete, we have successfully "connected"
|
|
442
|
+
this.emit('connected', true);
|
|
403
443
|
return true;
|
|
404
444
|
}
|
|
405
445
|
}
|
|
@@ -417,12 +457,13 @@ class Debugger {
|
|
|
417
457
|
}
|
|
418
458
|
removedProcessedBytes(responseHandler, unhandledData, packetLength = 0) {
|
|
419
459
|
var _a, _b, _c;
|
|
460
|
+
const activeRequest = this.activeRequests[responseHandler.requestId];
|
|
420
461
|
if (responseHandler.requestId > 0 && this.activeRequests[responseHandler.requestId]) {
|
|
421
462
|
delete this.activeRequests[responseHandler.requestId];
|
|
422
463
|
}
|
|
423
464
|
this.emit('data', responseHandler);
|
|
424
465
|
this.unhandledData = unhandledData.slice(packetLength ? packetLength : responseHandler.readOffset);
|
|
425
|
-
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);
|
|
466
|
+
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);
|
|
426
467
|
this.parseUnhandledData(this.unhandledData);
|
|
427
468
|
}
|
|
428
469
|
verifyHandshake(debuggerHandshake) {
|
|
@@ -441,7 +482,7 @@ class Debugger {
|
|
|
441
482
|
});
|
|
442
483
|
}
|
|
443
484
|
else if (semver.gtr(this.protocolVersion, this.supportedVersionRange)) {
|
|
444
|
-
this.logger.log('not tested');
|
|
485
|
+
this.logger.log('roku-debug has not been tested against protocol version', this.protocolVersion);
|
|
445
486
|
this.emit('protocol-version', {
|
|
446
487
|
message: `Protocol Version ${this.protocolVersion} has not been tested and my not work as intended.\nPlease open any issues you have with this version to https://github.com/rokucommunity/roku-debug/issues`,
|
|
447
488
|
errorCode: Constants_1.PROTOCOL_ERROR_CODES.NOT_TESTED
|
|
@@ -467,6 +508,7 @@ class Debugger {
|
|
|
467
508
|
}
|
|
468
509
|
}
|
|
469
510
|
connectToIoPort(connectIoPortResponse, unhandledData, packetLength = 0) {
|
|
511
|
+
this.logger.log('Connecting to IO port. response status success =', connectIoPortResponse.success);
|
|
470
512
|
if (connectIoPortResponse.success) {
|
|
471
513
|
// Create a new TCP client.
|
|
472
514
|
this.ioClient = new Net.Socket();
|
|
@@ -500,9 +542,8 @@ class Debugger {
|
|
|
500
542
|
// Don't forget to catch error, for your own sake.
|
|
501
543
|
this.ioClient.once('error', (err) => {
|
|
502
544
|
this.ioClient.end();
|
|
503
|
-
this.logger.
|
|
545
|
+
this.logger.error(err);
|
|
504
546
|
});
|
|
505
|
-
this.emit('connected', true);
|
|
506
547
|
});
|
|
507
548
|
this.removedProcessedBytes(connectIoPortResponse, unhandledData, packetLength);
|
|
508
549
|
return true;
|
|
@@ -513,7 +554,7 @@ class Debugger {
|
|
|
513
554
|
this.stopped = true;
|
|
514
555
|
let stopReason = update.data.stopReason;
|
|
515
556
|
let eventName = stopReason === Constants_1.STOP_REASONS.RUNTIME_ERROR ? 'runtime-error' : 'suspend';
|
|
516
|
-
if (update.updateType ===
|
|
557
|
+
if (update.updateType === Constants_1.UPDATE_TYPES.ALL_THREADS_STOPPED) {
|
|
517
558
|
if (stopReason === Constants_1.STOP_REASONS.RUNTIME_ERROR || stopReason === Constants_1.STOP_REASONS.BREAK || stopReason === Constants_1.STOP_REASONS.STOP_STATEMENT) {
|
|
518
559
|
this.primaryThread = update.data.primaryThreadIndex;
|
|
519
560
|
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,10 @@ 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
|
+
/**
|
|
47
|
+
* Anytime a roku adapter emits diagnostics, this methid is called to handle it.
|
|
48
|
+
*/
|
|
49
|
+
private handleDiagnostics;
|
|
46
50
|
private connectAndPublish;
|
|
47
51
|
/**
|
|
48
52
|
* Send log output to the "client" (i.e. vscode)
|