| Index: src/d8.js
|
| diff --git a/src/d8.js b/src/d8.js
|
| index b9ff09cee9bcc22436e8a6c55c656424ed54f5c9..455aa6f9556dcb26b101be361f8f2c7380209f5a 100644
|
| --- a/src/d8.js
|
| +++ b/src/d8.js
|
| @@ -341,6 +341,11 @@ function DebugRequest(cmd_line) {
|
| this.request_ = this.breakCommandToJSONRequest_(args);
|
| break;
|
|
|
| + case 'breakpoints':
|
| + case 'bb':
|
| + this.request_ = this.breakpointsCommandToJSONRequest_(args);
|
| + break;
|
| +
|
| case 'clear':
|
| this.request_ = this.clearCommandToJSONRequest_(args);
|
| break;
|
| @@ -770,6 +775,15 @@ DebugRequest.prototype.breakCommandToJSONRequest_ = function(args) {
|
| };
|
|
|
|
|
| +DebugRequest.prototype.breakpointsCommandToJSONRequest_ = function(args) {
|
| + if (args && args.length > 0) {
|
| + throw new Error('Unexpected arguments.');
|
| + }
|
| + var request = this.createRequest('listbreakpoints');
|
| + return request.toJSONProtocol();
|
| +};
|
| +
|
| +
|
| // Create a JSON request for the clear command.
|
| DebugRequest.prototype.clearCommandToJSONRequest_ = function(args) {
|
| // Build a evaluate request from the text command.
|
| @@ -947,6 +961,39 @@ function DebugResponseDetails(response) {
|
| result += body.breakpoint;
|
| details.text = result;
|
| break;
|
| +
|
| + case 'listbreakpoints':
|
| + result = 'breakpoints: (' + body.breakpoints.length + ')';
|
| + for (var i = 0; i < body.breakpoints.length; i++) {
|
| + var breakpoint = body.breakpoints[i];
|
| + result += '\n id=' + breakpoint.number;
|
| + result += ' type=' + breakpoint.type;
|
| + if (breakpoint.script_id) {
|
| + result += ' script_id=' + breakpoint.script_id;
|
| + }
|
| + if (breakpoint.script_name) {
|
| + result += ' script_name=' + breakpoint.script_name;
|
| + }
|
| + result += ' line=' + breakpoint.line;
|
| + if (breakpoint.column != null) {
|
| + result += ' column=' + breakpoint.column;
|
| + }
|
| + if (breakpoint.groupId) {
|
| + result += ' groupId=' + breakpoint.groupId;
|
| + }
|
| + if (breakpoint.ignoreCount) {
|
| + result += ' ignoreCount=' + breakpoint.ignoreCount;
|
| + }
|
| + if (breakpoint.active === false) {
|
| + result += ' inactive';
|
| + }
|
| + if (breakpoint.condition) {
|
| + result += ' condition=' + breakpoint.condition;
|
| + }
|
| + result += ' hit_count=' + breakpoint.hit_count;
|
| + }
|
| + details.text = result;
|
| + break;
|
|
|
| case 'backtrace':
|
| if (body.totalFrames == 0) {
|
| @@ -1136,8 +1183,8 @@ function DebugResponseDetails(response) {
|
|
|
| default:
|
| details.text =
|
| - 'Response for unknown command \'' + response.command + '\'' +
|
| - ' (' + json_response + ')';
|
| + 'Response for unknown command \'' + response.command() + '\'' +
|
| + ' (' + response.raw_json() + ')';
|
| }
|
| } catch (e) {
|
| details.text = 'Error: "' + e + '" formatting response';
|
| @@ -1153,6 +1200,7 @@ function DebugResponseDetails(response) {
|
| * @constructor
|
| */
|
| function ProtocolPackage(json) {
|
| + this.raw_json_ = json;
|
| this.packet_ = JSON.parse(json);
|
| this.refs_ = [];
|
| if (this.packet_.refs) {
|
| @@ -1243,6 +1291,11 @@ ProtocolPackage.prototype.lookup = function(handle) {
|
| }
|
|
|
|
|
| +ProtocolPackage.prototype.raw_json = function() {
|
| + return this.raw_json_;
|
| +}
|
| +
|
| +
|
| function ProtocolValue(value, packet) {
|
| this.value_ = value;
|
| this.packet_ = packet;
|
|
|