You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

v8-debug

Package Overview
Dependencies
Maintainers
2
Versions
36
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

v8-debug

v8 debugger extending API


Version published
Weekly downloads
1.7K
decreased by-0.59%
Maintainers
2
Created
Weekly downloads
 

Readme

Source

Build Status Build status npm version

v8-debug

Provides extending API for node internal debugger protocol (based on v8 debugger protocol)

This is a part of node-inspector.

Installation

npm install v8-debug

API

registerCommand(name, callback)

Registers new debug processor command, like lookup.

callback accepts two arguments - request and response.

You need to modify response.body if you want to return something to caller.

debug.registerCommand('_lookup', function(request, response) {
  var test = request.attributes;
  //do someting here
  //and modify response
  response.body = {
    test: test
  };
});

registerEvent(eventName)

This is a shortcut for:

debug.registerCommand('someEvent', debug.commandToEvent);

execCommand(commandName, attributes)

Calls debug processor command like 'lookup'.

attributes will be passed to registerCommand.callback as request.attributes.

attributes needs to be valid JSON object.

debug.registerCommand('_lookup', function(request, response) {
  var test = request.attributes;
  //do someting here
  //and modify response
  response.body = {
    test: test
  };
});

debug.execCommand('_lookup', { attr: 'test' });

emitEvent(eventName, attributes)

This is a semantic alias for execCommand

debug.emitEvent('myEvent', { attr: 'test' });

commandToEvent(request, response)

response object has a different structure for commands and events.

By default registerCommand.callback receives command's response.

This is a small converter.

debug.registerCommand('someEvent1', function(request, response) {
  debug.commandToEvent(request, response);
});

debug.registerCommand('someEvent2', debug.commandToEvent);

Use debug.registerEvent instead of this.

runInDebugContext(script)

(alias get)

Evaluates string or function (will be stringifyed) in debug context.

var MakeMirror = debug.get('MakeMirror');
var mirror = MakeMirror({ test: 1 });

getFromFrame(index, value)

Tries to receive a value from targeted frame scopes

function a(options) {
  //...
  b();
}

function b() {
  // There is no info about `options` object
  var options = debug.getFromFrame(1, 'options');
}

enableWebkitProtocol()

Enables experimental usage of WebKit protocol

registerAgentCommand(command, parameters, callback)

Experimental method for registering WebKit protocol handlers

Usage

Simple console.log checking

var debug = require('v8-debug');

debug.registerEvent('console.log');

console.log = (function(fn) {
  return function() {
    debug.emitEvent('console.log', {message: arguments[0]} /*, userdata*/);
    return fn.apply(console, arguments);
  }
} (console.log));

For more experience see protocol documentation

Keywords

FAQs

Package last updated on 28 Mar 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc