Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

node-inspector

Web Inspector based nodeJS debugger

debug, debugger, inspector, profiler

readme

Node Inspector

Build Status NPM version Bountysource

Join the chat at https://gitter.im/node-inspector/node-inspector

Overview

Node Inspector is a debugger interface for Node.js applications that uses the Blink Developer Tools (formerly WebKit Web Inspector).

Since version 6.3, Node.js provides a built-in DevTools-based debugger which mostly deprecates Node Inspector, see e.g. this blog post to get started. The built-in debugger is developed directly by the V8/Chromium team and provides certain advanced features (e.g. long/async stack traces) that are too difficult to implement in Node Inspector.

Table of Content

Quick Start

Install

$ npm install -g node-inspector

Start

$ node-debug app.js

where app.js is the name of your main Node application JavaScript file.

See available configuration options here

Debug

The node-debug command will load Node Inspector in your default browser.

NOTE: Node Inspector works in Chrome and Opera only. You have to re-open the inspector page in one of those browsers if another browser is your default web browser (e.g. Safari or Internet Explorer).

Node Inspector works almost exactly as the Chrome Developer Tools. Read the excellent DevTools overview to get started.

Other useful resources:

Features

The Blink DevTools debugger is a powerful JavaScript debugger interface. Node Inspector supports almost all of the debugging features of DevTools, including:

  • Navigate in your source files
  • Set breakpoints (and specify trigger conditions)
  • Step over, step in, step out, resume (continue)
  • Inspect scopes, variables, object properties
  • Hover your mouse over an expression in your source to display its value in a tooltip
  • Edit variables and object properties
  • Continue to location
  • Break on exceptions
  • Disable/enable all breakpoints
  • CPU and HEAP profiling
  • Network client requests inspection
  • Console output inspection

Cool stuff

  • Node Inspector uses WebSockets, so no polling for breaks.
  • Remote debugging and debugging remote machine.
  • Live edit of running code, optionally persisting changes back to the file-system.
  • Set breakpoints in files that are not loaded into V8 yet - useful for debugging module loading/initialization.
  • Embeddable in other applications - see Embedding HOWTO for more details.

Known Issues

  • Be careful about viewing the contents of Buffer objects, each byte is displayed as an individual array element; for most Buffers this will take too long to render.
  • While not stopped at a breakpoint the console doesn't always behave as you might expect. See the issue #146.
  • Break on uncaught exceptions does not work in all Node versions, you need at least v0.11.3 (see node#5713).
  • Debugging multiple processes (e.g. cluster) is cumbersome. Read the following blog post for instructions: Debugging Clustered Apps with Node-Inspector

Troubleshooting

My script runs too fast to attach the debugger.

The debugged process must be started with --debug-brk, this way the script is paused on the first line.

Note: node-debug adds this option for you by default.

I got the UI in a weird state.

When in doubt, refresh the page in browser

Can I debug remotely?

Yes. Node Inspector must be running on the same machine, but your browser can be anywhere. Just make sure port 8080 is accessible.

And if Node Inspector is not running on your remote machine, you can also debug it as long as your local machine can connect it. In this way, you must launch Node Inspector with --no-inject which means some features are not supported such as profiling and consoling output inspection.

So how to debug remote machine with your local Node Inspector?

option 1

$ node-inspector --debug-host 192.168.0.2 --no-inject then open the url http://127.0.0.1:8080/debug?port=5858

option 2

$ node-inspector --no-inject then specify the remote machine address as a host parameter in the url e.g.) http://127.0.0.1:8080/debug?host=192.168.123.12&port=5858

How do I specify files to hide?

Create a JSON-encoded array. You must escape quote characters when using a command-line option.

$ node-inspector --hidden='["node_modules/framework"]'

Note that the array items are interpreted as regular expressions.

UI doesn't load or doesn't work and refresh didn't help

Make sure that you have adblock disabled as well as any other content blocking scripts and plugins.

How can I (selectively) delete debug session metadata?

You may want to delete debug session metadata if for example Node Inspector gets in a bad state with some watch variables that were function calls (possibly into some special c-bindings). In such cases, even restarting the application/debug session may not fix the problem.

Node Inspector stores debug session metadata in the HTML5 local storage. You can inspect the contents of local storage and remove any items as needed. In Google Chrome, you can execute any of the following in the JavaScript console:

// Remove all
window.localStorage.clear()
// Or, to list keys so you can selectively remove them with removeItem()
window.localStorage
// Remove all the watch expressions
window.localStorage.removeItem('watchExpressions')
// Remove all the breakpoints
window.localStorage.removeItem('breakpoints')

When you are done cleaning up, hit refresh in the browser.

Node Inspector takes a long time to start up.

Try setting --no-preload to true. This option disables searching disk for *.js at startup. Code will still be loaded into Node Inspector at runtime, as modules are required.

How do I debug Mocha unit-tests?

You have to start _mocha as the debugged process and make sure the execution pauses on the first line. This way you have enough time to set your breakpoints before the tests are run.

$ node-debug _mocha

How do I debug Gulp tasks?

If you are running on a Unix system you can simply run the following command. The $(which ..) statement gets replaced with the full path to the gulp-cli.

$ node-debug $(which gulp) task

If you are running on Windows, you have to get the full path of gulp.js to make an equivalent command:

> node-debug %appdata%\npm\node_modules\gulp\bin\gulp.js task

You can omit the task part to run the default task.

Advanced Use

While running node-debug is a convenient way to start your debugging session, there may come time when you need to tweak the default setup.

There are three steps needed to get you up and debugging:

1. Start the Node Inspector server

$ node-inspector

You can leave the server running in background, it's possible to debug multiple processes using the same server instance.

2. Enable debug mode in your Node process

You can either start Node with a debug flag like:

$ node --debug your/node/program.js

or, to pause your script on the first line:

$ node --debug-brk your/short/node/script.js

Or you can enable debugging on a node that is already running by sending it a signal:

  1. Get the PID of the node process using your favorite method. pgrep or ps -ef are good

     $ pgrep -l node
     2345 node your/node/server.js
  2. Send it the USR1 signal

     $ kill -s USR1 2345
Windows

Windows does not support UNIX signals. To enable debugging, you can use an undocumented API function process._debugProcess(pid):

  1. Get the PID of the node process using your favorite method, e.g.

     > tasklist /FI "IMAGENAME eq node.exe"
    
     Image Name                     PID Session Name        Session#    Mem Usage
     ========================= ======== ================ =========== ============
     node.exe                      3084 Console                    1     11,964 K
  2. Call the API:

     > node -e "process._debugProcess(3084)"

3. Load the debugger UI

Open http://127.0.0.1:8080/?port=5858 in the Chrome browser.

Configuration

Both node-inspector and node-debug use rc module to manage configuration options.

Places for configuration:

  • command line arguments (parsed by yargs)
  • environment variables prefixed with node-inspector_
  • if you passed an option --config file then from that file
  • a local .node-inspectorrc or the first found looking in ./ ../ ../../ ../../../ etc.
  • $HOME/.node-inspectorrc
  • $HOME/.node-inspector/config
  • $HOME/.config/node-inspector
  • $HOME/.config/node-inspector/config
  • /etc/node-inspectorrc
  • /etc/node-inspector/config

All configuration sources that where found will be flattened into one object, so that sources earlier in this list override later ones.

Options

Option Alias Default Description
general
--help -h | Display information about available options.
Use --help -l to display full usage info.
Use --help <option> to display quick help on option.
--version -v | Display Node Inspector's version.
--debug-port -d 5858 Node/V8 debugger port.
(node --debug={port})
--web-host | 0.0.0.0 Host to listen on for Node Inspector's web interface.
node-debug listens on 127.0.0.1 by default.
--web-port -p 8080 Port to listen on for Node Inspector's web interface.
node-debug
--debug-brk -b true Break on the first line.
(node --debug-brk)
--nodejs | [] Pass NodeJS options to debugged process.
(node --option={value})
--script | [] Pass options to debugged process.
(node app --option={value})
--cli -c false CLI mode, do not open browser.
node-inspector
--save-live-edit | false Save live edit changes to disk (update the edited files).
--preload | true Preload *.js files. You can disable this option
to speed up the startup.
--inject | true Enable injection of debugger extensions into the debugged process. It's possible disable only part of injections using subkeys --no-inject.network. Allowed keys : network, profiles, console.
--hidden | [] Array of files to hide from the UI,
breakpoints in these files will be ignored.
All paths are interpreted as regular expressions.
--stack-trace-limit | 50 Number of stack frames to show on a breakpoint.
--ssl-key | Path to file containing a valid SSL key.
--ssl-cert | Path to file containing a valid SSL certificate.

Usage examples

Command line

Format
$ node-debug [general-options] [node-debug-options] [node-inspector-options] [script]
$ node-inspector [general-options] [node-inspector-options]
Usage

Display full usage info:

$ node-debug --help -l

Set debug port of debugging process to 5859:

$ node-debug -p 5859 app

Pass --web-host=127.0.0.2 to node-inspector. Start node-inspector to listen on 127.0.0.2:

$ node-debug --web-host 127.0.0.2 app

Pass --option=value to debugging process:

$ node-debug app --option value

Start node-inspector to listen on HTTPS:

$ node-debug --ssl-key ./ssl/key.pem --ssl-cert ./ssl/cert.pem app

Ignore breakpoints in files stored in node_modules folder or ending in .test.js:

$ node-debug --hidden node_modules/ --hidden \.test\.js$ app

Add --harmony flag to the node process running the debugged script:

$ node-debug --nodejs --harmony app

Disable preloading of .js files:

$ node-debug --no-preload app

RC Configuration

Use dashed option names in RC files. Sample config file (to be saved as .node-inspectorrc):

{
  "web-port": 8088,
  "web-host": "0.0.0.0",
  "debug-port": 5858,
  "save-live-edit": true,
  "preload": false,
  "hidden": ["\.test\.js$", "node_modules/"],
  "nodejs": ["--harmony"],
  "stack-trace-limit": 50,
  "ssl-key": "./ssl/key.pem",
  "ssl-cert": "./ssl/cert.pem"
}

Contributing Code

Making Node Inspector the best debugger for node.js cannot be achieved without the help of the community. The following resources should help you to get started.

Credits

Current maintainers

Alumni

  • Danny Coates - the original author and a sole maintainer for several years.
  • Miroslav Bajtoš - sponsored by StrongLoop, maintained Node Inspector through the Node.js 0.10 era.
  • 3y3 - maintained Node Inspector in 2015-2016

Contributors

Big thanks to the many contributors to the project, see Contributors on GitHub

changelog

2018-01-31, Version 1.1.2

  • fix: ui messed up (#1034) (淘小杰)

  • Allow "blob:" sources for scripts in Content-Security-Policy header (#1017) (André Wachter)

  • Fixed typo: buit > built (#1018) (Greg Knapp)

2017-04-24, Version 1.1.1

  • fix: press enter doesn't work in console (#1006) (淘小杰)

  • fix: make it work with mac (#1003) (淘小杰)

2017-04-12, Version 1.1.0

  • doc: add doc of how to debug remote machine (#1002) (淘小杰)

  • fix: DebuggerClient api has a breaking change (#1000) (淘小杰)

  • Implement the remote debugging feature. (#919) (Junil Kim)

  • test: add debug break test case (#998) (淘小杰)

  • fix: --debug-brk is ignored when launching it with command (#997) (淘小杰)

2017-04-10, Version 1.0.1

  • fix: breakpoint may be undefined. (#995) (淘小杰)

  • fix: debug-brk not working and failed to resolve value by handle, https://github.com/node-inspector/node-inspector/issues/993 (#994) (淘小杰)

  • Fixing CLI warning (#943) (Clint Goodman)

  • Updated repo badges to svg (#945) (Amila Welihinda)

  • As KeyboardEvent.keyIdentifier is removed from the recent (#955) (Junil Kim)

2017-03-28, Version 1.0.0

  • fix: upgrade v8-debug and v8-profiler, fix some test suites (#991) (淘小杰)

  • fix: can not find NativeModule in node 6.4.x and above (#990) (淘小杰)

  • Update README (#988) (Miroslav Bajtoš)

2017-03-06, Version 0.12.10

  • Fix callback call in InjectorClient._findNMInScope (#914) (Sergey Sharov)

  • Partial fix of #843 (Yury Puzynya)

  • Fix #851 (Yury Puzynya)

2016-04-07, Version 0.12.8

  • Cleanup pr-839 (Yury Puzynya)

  • Don't fail when there's a loop in symlinks (Yves Le Maout)

  • Bump ws dependency to 1.0.1 (eliminates dependency on bufferutil) (Andre Asselin)

  • Fix issue #832, "node inspector and babel-register". (Albert Pomortsev)

  • Fix keep-alive network debugging (Yury Puzynya)

  • Fix calling unexposed function (Guilherme Pacheco)

2016-02-25, Version 0.12.7

  • chmod 777 for unix socket (Yury Puzynya)

  • Added frontend ping (Yury Puzynya)

  • Remove registerDebuggerEventHandlers (Yury Puzynya)

  • Merge debug-server address and wsAddress (Yury Puzynya)

  • fix ws url (Yury Puzynya)

2016-02-09, Version 0.12.6

  • deps up (Yury Puzynya)

  • Fixed buildInspectorUrl (Yury Puzynya)

  • Fix readme (Yury Puzynya)

  • Aviod params duplication in querystring (Yury Puzynya)

  • Support listening on unix socket (Yury Puzynya)

  • Fix node-inspector redirecting with invalid ws url if no port is specified (Cain Cresswell-Miley)

  • New resource tree resolver (Yury Puzynya)

  • Added manifest.override prop for inspector.json. Allows finer-grained control over existing plugins and modules. (Eric Lawless)

  • Added --plugin-path argument for specifying root plugin path. (Eric Lawless)

2015-12-06, Version 0.12.5

  • Bump dependencies (Yury Puzynya)

  • Update build script (Yury Puzynya)

2015-12-03, Version 0.12.4

  • bump v8-debug version (Yury Puzynya)

  • Fix #763 (Yury Puzynya)

  • Prevent leaking of data in Network for AWS and others (Yury Puzynya)

  • Updates TravisCI build (Yury Puzynya)

  • Reimplemented Injector entry point (Yury Puzynya)

  • Simplifies evaluateGlobal func (Yury Puzynya)

  • Update release.sh (Yury Puzynya)

2015-09-05, Version 0.12.3

  • Fix tests (Yury Puzynya)

  • Fix tests (Yury Puzynya)

  • Update dependencies (Yury Puzynya)

  • Fix #730 , Fix #724 (Yury Puzynya)

  • Typo (stack is not a function) Fixes #728 (Michael Plakhov)

  • Fixed #723 (3y3)

  • Update release.sh (3y3)

2015-08-06, Version 0.12.2

  • Fix tests for 0.10 (3y3)

  • Fix css issue with debugger window cut off #699 (Alex Kras)

  • Isolate injections in Injections folder (3y3)

  • Test launcher rewrited for promises (3y3)

  • Changed behavior for session close event (3y3)

  • Added DebuggerClient.isReady state (3y3)

  • Revert changes in Network handling (3y3)

  • Update release.sh (3y3)

2015-07-29, Version 0.12.1

  • Exclude tools from .npmignore (Chris Baldwin)

  • Update release.sh (3y3)

2015-07-29, Version 0.12.0

  • JSON endpoints /json and /json/list should return a JSON array (Alain Kalker)

  • Remove useless wrapper in NetworkInjection (3y3)

  • Send correct loaderId in resourceTree (3y3)

  • Receive app evn in one place (3y3)

  • Fix IndexedDB.requestDatabaseNames command (3y3)

  • Plugins: cleanup fixes (3y3)

  • Frontend update: fetched from 2234 (3y3)

  • Add plugins option to configuration (3y3)

  • Deprecate front-end generating scripts (3y3)

  • Plugins: tests for merging ProtocolJson (3y3)

  • Plugins: tests for merging InspectorJson (3y3)

  • Plugins: merging ProtocolJson (3y3)

  • Plugins: merging InspectorJson (3y3)

  • Front-end: added event FormattedMessage (3y3)

  • Front-end: added event dispatcher for console view (3y3)

  • Update readme and --help (3y3)

  • Split injections configuration (3y3)

  • Support objects in config (3y3)

  • Fix pause on first line for node 0.10.* (3y3)

2015-07-23, Version 0.11.2

  • TravisCI: switch to container based infrastructure (3y3)

  • Fix #698 (3y3)

2015-06-30, Version 0.11.1

  • Handle compileError as afterCompile on node 0.12 (3y3)

  • Fix custom command initialisation in debug-brk mode (3y3)

  • Fix Console.message url (3y3)

2015-06-29, Version 0.11.0

  • Update README.md (3y3)

  • front-end: Fix double sending of togglePause (3y3)

  • Fix redirectToRoot context (3y3)

  • Network: added new tests (3y3)

  • Network: fixed front-end (3y3)

  • Added Network tab (3y3)

  • Properly redirect to root (3y3)

  • Added /json/version http endpoint (Kenneth Auchenberg)

  • Added /json http endpoint (Kenneth Auchenberg)

  • Ignore errors during debugger closing. Fix tests. (3y3)

  • Fix inline sourcemaps path in node 0.10.x (Andres Suarez)

  • Send disconnect request on connection closing (3y3)

2015-06-15, Version 0.10.2

  • Fix test for iojs (3y3)

  • Avoid inline sourcemaps to be re-fetched from backend. (Marco Minetti)

  • Improve inline sourcemaps (3y3)

  • Check if source stored in app on source request (3y3)

  • Move getScriptSourceById to ScriptManager (3y3)

  • Console: fix max string length (3y3)

  • Console: fix caller script url (3y3)

  • Console: fix currentFrame searching (3y3)

  • Console: added special wrapper for assert func (3y3)

  • Fix index tests (3y3)

  • Fix url backward compatibility (3y3)

  • Fixed #667 (3y3)

  • Fix config web-host deprecation checker (3y3)

  • Added support for Web Notifications on debugger paused. (Marco Minetti)

  • Dropped /debug in favor of root URL. (Marco Minetti)

2015-05-13, Version 0.10.1

  • Bump dependencies (3y3)

  • Bump FrontendCommandHandler test timeout (3y3)

  • Try resolve script source on debug event (3y3)

  • More asynchronous Injector break handling (3y3)

  • Process break event in async mode (3y3)

  • Deprecate event caching in BreakEventHandler (3y3)

  • Use wss: WebSocket protocol if front-end is using SSL (Adam Biggs)

  • Small fix: redirection in debug-server (3y3)

  • README: remove traling whitespace (Miroslav Bajtoš)

  • ScriptFileStorage: follow symlinks, get realpaths (Jurgen Leschner)

2015-04-24, Version 0.10.0

  • Readme cleanup. (3y3)

  • Implemented "Save" for CPU and Heap profiles. (marco.minetti)

  • Fixed console test (3y3)

  • Fixed debug port not read from URI. (marco.minetti)

  • Fixed new watcher expression input. (Marco Minetti)

  • Fix console in debug-brk mode (3y3)

  • Add tests for BreakEventHandler (3y3)

  • Cache events from app (3y3)

  • Decrease time for FrontendCommandHandler test (3y3)

  • Fix tests for 0.12 (3y3)

  • Passing session object everywhere (3y3)

  • Fix console messageRepeatCounter (3y3)

  • Deprecate unuseful front-end changes (3y3)

  • Fix HeapProfilerAgent relative to new protocol.json (3y3)

  • Fix ProfilerAgent relative to new protocol.json (3y3)

  • Reload frontend on detach (3y3)

  • Allow to save modified files (3y3)

  • Disable unusable tabs (3y3)

  • Added PageAgent canEmulate and canScreencast callbacks (3y3)

  • Extend noop commands list (3y3)

  • Send page context to frontend (3y3)

  • Override watch expression (3y3)

  • Replace (no domain) string to (core modules) (3y3)

  • Replace worker title to '' (3y3)

  • Replace window title to Node Inspector (3y3)

  • Override WebInspector.UIString (3y3)

  • Open main script on startup (3y3)

  • Extend protocol by Console.showConsole (3y3)

  • Hide sources chrome specifics (3y3)

  • Remove unusable tabs from settings screen (3y3)

  • Unregister shortcuts (3y3)

  • Use default web socket to connect to inspector backend (3y3)

  • Update tools/generate-commands algorithm (3y3)

  • Frontend update: fetched from 2234 (3y3)

  • Disable debug conn. managment by Debugger Agent (3y3)

  • README: Add note regarding breaking bug (see: #534) (ELLIOTTCABLE)

  • Fixed console warning for profiler/node compatibility. (Marco Minetti)

2015-03-10, Version 0.9.2

  • Bump express min version to 4.8.0 (Alejandro Larre)

  • Documentation on contributing (jakub-g)

2015-02-24, Version 0.9.1

  • Move gitter badge to right place (3y3)

  • Added Gitter badge (The Gitter Badger)

  • README: fix typos (Wendy Leung)

  • Bump v8-debug to v0.4.2, v8-profiler to 5.2.4 (Jim Cummins)

  • .travis.yml: drop 0.11, add 0.12 and io.js (Miroslav Bajtoš)

2015-02-11, Version 0.9.0

  • tools: set +x for git-changelog.sh (Miroslav Bajtoš)

  • README note about preloading and symlinks (Jurgen Leschner)

  • use glob v4.3.5 - NOTE disables symlink following (Jurgen Leschner)

  • Enable latest Node v0.10 on Travis again (Miroslav Bajtoš)

  • Make sure to open URL in a webkit browser (jakub-g)

  • Fix: Breakpoints doesn't work for Windows (3y3)

  • lib: Fix typo (Seth Krasnianski)

  • Fix --hidden option for NODE_DEBUG mode (3y3)

  • travis: fix Node versions (Miroslav Bajtoš)

2015-01-12, Version 0.8.3

  • Fix release logic (3y3)

2015-01-12, Version 0.8.2

  • Fix release.sh for Windows (3y3)

  • Fix Console API getCallerFuncLocation (3y3)

  • Wrong name ScriptManager.normalizeV8Name (3y3)

  • Replace deprecated express sendfile with sendFile. (Timur Amirov)

  • front-end: fix non-expanding tree-element (tobiasviehweger)

  • Release script updated (3y3)

  • Check Windows case insensitive app name (3y3)

  • Avoid serialization of internal properties (3y3)

2014-12-08, Version 0.8.1

  • Update v8-profiler version (3y3)

  • Check NaN object in mirrors cache (3y3)

  • tools/git-changelog: always print the header (Miroslav Bajtoš)

  • tools/release: fixes and improvements (Miroslav Bajtoš)

2014-12-03, Version 0.8.0

  • Fixed issue #478 (jlu)

  • Modified DebuggerAgent.getFunctionDetails (3y3)

  • Added HeapProfiler._lookupHeapObjectId (3y3)

  • Console serializing and caching logic moved to InjectorServer (3y3)

  • README: fix command for debugging Gulp on Windows (thorn0)

  • Console API (3y3)

  • HeapProfiler API (3y3)

  • ChangeLog: update to the new markdown format (Miroslav Bajtoš)

  • Simplify the release process (Miroslav Bajtoš)

  • README: Fix broken link. (Marcelo Campos Rocha)

  • README: Add info on debugging Gulp tasks (Eric Eastwood)

  • Update README.MD (3y3)

  • Added usage examples (3y3)

  • New help system (3y3)

  • Added customizable webHost to node-debug (3y3)

  • Exclude configuration logic from node-debug (3y3)

  • Use yargs as argv preprocessor in config.js (3y3)

  • Deprecate allowed web-host null value (3y3)

  • Create config from constructor (3y3)

  • Enable node-inspector listening on https. (mriehle)

  • Profiler API (3y3)

  • Use correct comment style in Overrides.css (3y3)

  • Overrides: fix WebInspector.UIString (Miroslav Bajtoš)

  • front-end: hide DOM, XHR and Event Listener breakpoints (3y3)

  • front-end: rename "(no domain)" to "(core modules)" (3y3)

  • front-end: remove unusable tabs in settings screen (3y3)

  • Extend noop-commands list (3y3)

  • test: increase test timeout in InjectorClient (Miroslav Bajtoš)

  • Fix passing config from session.js to ScriptManager.js (3y3)

  • Add Inspector favicon (3y3)

  • test: increase test timeout in InjectorClient (Miroslav Bajtoš)

  • Version checking refactored (3y3)

  • Update devtools overview url in README (Fodi69)

  • Deprecated config.js cleanup (3y3)

  • README: fix link pointing to docs.strongloop.com (Miroslav Bajtoš)

  • test: fix race condition in launcher (Miroslav Bajtoš)

  • package: update dependencies, use "^" (Miroslav Bajtoš)

  • README: minor improvements (Miroslav Bajtoš)

  • BreakEventHandler: fix break on uncaught exception (Miroslav Bajtoš)

  • debugger: fix protocol debug log (Miroslav Bajtoš)

  • Injector API restructuring (3y3)

  • Add Bountysource badge to README (bountysource-support)

  • Fix InjectorServer socket closing (3y3)

  • Update debug to "1.0" (Miroslav Bajtoš)

  • Removed trailing space. (Miroslav Bajtoš)

  • Bump up the next version to 0.8.0 (Miroslav Bajtoš)

  • Injector API (3y3)

  • start work on v0.7.5 (Miroslav Bajtoš)

2014-06-05, Version 0.7.4

  • Non-ascii string saving fix (junecoder)

  • front-end: fix for the Safari browser (ivan baktsheev)

  • node-debug: Detecting Windows CMD files (3y3)

  • node-debug: Passing NodeJS options to debugged process (3y3)

  • node-debug: Fixed passing inspector's 'no-' arg in node-debug (3y3)

  • Fix conversion of config options (3y3)

2014-04-08, Version 0.7.3

  • ScriptFileStorage: fix fs.readFile usage on v0.8 (Miroslav Bajtoš)

  • Update dependencies (Miroslav Bajtoš)

  • Switch to core _debugger module. (3y3)

2014-03-21, Version 0.7.2

  • Fixed a race condition in the debug-server.js (Vasil Dininski)

  • Use jshint instead of gjslint (Miroslav Bajtoš)

  • fixjsstyle cleanup (3y3)

  • debugger isRunning state changes (3y3)

2014-03-11, Version 0.7.1

  • Added subtype property to RemoteObject (3y3)

  • Checked Invalid Date object (3y3)

  • Fixed wrong proto object link (3y3)

  • Checking configurable option (3y3)

  • Properties conversion isolated to function (3y3)

  • Handle shebang in ScriptFileStorage load/save (Miroslav Bajtoš)

  • Implement Debugger.setSkipAllPauses (Miroslav Bajtoš)

  • Fix links (Miroslav Bajtoš)

  • MAINTAINERS: use imperative sentence style (Miroslav Bajtoš)

2014-02-20, Version 0.7.0

  • README restructuralization (Miroslav Bajtoš)

  • Rename readme.md to README.md (Miroslav Bajtoš)

  • Update AUTHORS (Miroslav Bajtoš)

  • Defer "scriptParsed" until "Page.getResourceTree" (Miroslav Bajtoš)

  • Lower the frequency of auto reloads (Miroslav Bajtoš)

  • Update .npmignore (Miroslav Bajtoš)

  • Clean up node-debug help message (Sam Roberts)

  • bin/inspector: Add -h -v --version options (Miroslav Bajtoš)

  • Speed up initial parsing of source-map URLs (Miroslav Bajtoš)

  • Cache results of ScriptFileStorage.listScripts. (Miroslav Bajtoš)

  • Ignore EACCESS errors when listing sources (Miroslav Bajtoš)

  • Tighten findAllApplicationScripts heuristics (Miroslav Bajtoš)

  • Implement node-debug. (Miroslav Bajtoš)

  • RuntimeAgent: implement releaseObject() as no-op (Miroslav Bajtoš)

  • Fix DebuggerAgent.setVariableValue to object (Miroslav Bajtoš)

  • Add WebSocketServer error handler. (Miroslav Bajtoš)

  • README: added shell code higlight (Ionică Bizău)

  • Fix conversion of Error objects (Miroslav Bajtoš)

  • Use WebSockets instead of socket.io. (Kenneth Auchenberg)

  • Small indentation fixes (3y3)

  • Help message format update (3y3)

  • Reload browser when detached from target (ChrisWren)

  • Make socket.io work with subfolder hosting. (Pritam Baral)

2014-01-23, Version 0.7.0-2

  • Updated AUTHORS. (Miroslav Bajtoš)

  • Fixed display of RegExp objects. (3y3)

  • Fixed DebuggerClient.resume acting like stepInto (Miroslav Bajtoš)

  • Fixed timing-dependent unit-tests failures (Miroslav Bajtoš)

  • test: improved describe/it names (Miroslav Bajtoš)

  • Fixed misspelled word "Visit" in docs (Peter Lyons)

  • Fix Date display format. Issue #281 (3y3)

  • Fixed throw on DebuggerAgent.resume() (Lennon Pulda-Grealy)

  • Added large String support for debugger evaluation requests (Peter Flannery)

2013-12-26, Version 0.7.0-1

  • Improved formatting of Date objects in inspector (Sergey Krilov)

  • Added --no-preload to disable glob of all *.js (Dick Hardt)

  • Update readme with faq about browser storage and debug metadata (Karan Batra-Daitch)

  • Fixed CallFramesProvider test on Node v0.11. (Miroslav Bajtos)

2013-12-04, Version 0.6.2

  • Updated AUTHORS. (Miroslav Bajtos)

  • docs: explain dashed name rc config conversion (cattail)

  • Removed false error messages on reload (Dave)

2013-11-17, Version 0.6.1

  • Added debug logging of communication (Miroslav Bajtos)

2013-11-12, Version 0.6.0

  • gjslint: removed workaround for linter bug (Miroslav Bajtos)

  • Updated AUTHORS. (Miroslav Bajtos)

  • Added stackTraceLimit configuration, fixes #96. (ssafejava)

  • test: fixed launcher errors on windows (Miroslav Bajtos)

  • Remove dependence on HTTP for socket io connection to server (Matthew O'Riordan)

  • README: added WTF entry about adblock (Gary Katsevman)

  • README: howto signal SIGUSR1 on windows (Miroslav Bajtos)

  • lib,test: fixed lint issues (Miroslav Bajtos)

2013-09-20, Version 0.5.0

  • Quick fix for properties displayed twice in UI (Miroslav Bajtos)

  • README: added FAQ entry for --hidden option (Miroslav Bajtos)

  • lib: fixed hiding of script files (Miroslav Bajtos)

  • lib: fix config handling (Miroslav Bajtos)

  • Updated AUTHORS. (Miroslav Bajtos)

  • Fixed wrong hint in error message if web port is used. (Adam Hořčica)

  • NetworkAgent: support data scheme URLs (Miroslav Bajtos)

  • package.json: upgraded to express 3.4 (Miroslav Bajtos)

  • lib,Overrides: support the updated front-end (Miroslav Bajtos)

  • front-end: patched inspector.html (Miroslav Bajtos)

  • front-end: upgraded to Blink branch 1625, r157454 (Miroslav Bajtos)

  • tools: implemented update-front-end.sh (Miroslav Bajtos)

2013-09-05, Version 0.4.0

  • Emit 'listening' and 'error' events (Miroslav Bajtos)

  • README: fixed headings level (Miroslav Bajtos)

  • New configuration system based on RC module (3y3)

2013-08-21, Version 0.3.4

  • Bugfix: crash when breakpoint was hit in eval()-ed (Miroslav Bajtos)

2013-08-12, Version 0.3.3

  • package.json: upgraded to express 3.3 (Miroslav Bajtos)

  • README: added section 'Contributing Code' (Miroslav Bajtos)

  • README: Updated "Thanks" section (Miroslav Bajtos)

  • Updated AUTHORS list. (Miroslav Bajtos)

  • DebugServer: Fix for source map paths on win (pflannery)

  • README: added gemnasium dependency status badge (Miroslav Bajtos)

  • package.json: added lint script (Miroslav Bajtos)

  • README: link to issue #146 (Miroslav Bajtoš)

  • PageAgent: improved main-file detection (Miroslav Bajtos)

2013-07-22, Version 0.3.2

  • Overrides: show main app file (Miroslav Bajtos)

  • PageAgent: fix for main script without extension (Miroslav Bajtos)

2013-07-15, Version 0.3.1

  • Added version log message. (Miroslav Bajtos)

  • Fixed RuntimeAgent.callFunctionOn() error handling (Miroslav Bajtos)

2013-07-15, Version 0.3.0

  • MAINTAINERS.md: fixed typo. (Miroslav Bajtos)

  • squash! ScriptFileStorage: root detection change (Miroslav Bajtos)

  • ScriptFileStorage: improved detection of app root (Miroslav Bajtos)

  • ScriptManager: fixed crash (mocha --debug-brk) (Miroslav Bajtos)

  • DebuggerClient: fixed crash in getScriptSource (Miroslav Bajtos)

  • AUTHORS: updated Stronglooper's emails (Miroslav Bajtos)

  • Added MAINTAINERS.md (Miroslav Bajtos)

  • Added AUTHORS (Miroslav Bajtos)

  • Updated documentation. (Miroslav Bajtos)

  • List unit-test files on session start. (Miroslav Bajtos)

  • DebuggerClient: workaround for string truncation (Miroslav Bajtos)

  • Fixed sourcemap support on Windows (Miroslav Bajtos)

  • ScriptFileStorage: fixed issues on windows (Miroslav Bajtos)

  • Sourcemap support (Miroslav Bajtos)

  • Change the default server ip to be 127.0.0.1 as 0.0.0.0 doesn't work on windows (Raymond Feng)

  • PageAgent: removed forgotten console.log call. (Miroslav Bajtos)

  • Set breakpoint in a file not loaded yet. (Miroslav Bajtos)

  • DebuggerAgent: setVariableValue for node v0.10.12+ (Miroslav Bajtos)

  • package.json: relaxed express version spec (Miroslav Bajtos)

  • Added few more dummy command handlers. (Miroslav Bajtos)

  • DebuggerAgent: handle unsupported node version (Miroslav Bajtos)

  • Implemented setVariableValue. (Miroslav Bajtos)

  • Fixed 'get scope properties' to include flags (Miroslav Bajtos)

  • RuntimeAgent: callFunctionOn with arguments (Miroslav Bajtos)

  • RuntimeAgent: added writable and enumerable flags (Miroslav Bajtos)

  • DebuggerAgent: implemented restartFrame. (Miroslav Bajtos)

  • Improved handling of agent methods not implemented (Miroslav Bajtos)

  • DebuggerAgent: save live-edit changes. (Miroslav Bajtos)

  • Run ./tools/git-changelog to update ChangeLog (Sam Roberts)

  • session: removed improper warning message (Miroslav Bajtos)

  • Moved frontend overrides out of front-end folder (Miroslav Bajtos)

  • Replaced paperboy with express. (Miroslav Bajtos)

  • Added header to enable IE support via Chrome Frame (Miroslav Bajtos)

  • added preferGlobal to package.json (Miroslav Bajtos)

  • Changed fetchCallFrames to not fetch scope details (Miroslav Bajtos)

  • Implemented DebuggerClient.clearBreakpoint (Miroslav Bajtos)

  • Moved afterCompile handler to ScriptManager. (Miroslav Bajtos)

  • Cleanup: Agents depend on debuggerClient (Miroslav Bajtos)

  • Moved session.attach to DebuggerAgent. (Miroslav Bajtos)

  • Refactored 'break'/'exception' handling (Miroslav Bajtos)

  • Started rename of Debugger.sendDebugRequest. (Miroslav Bajtos)

  • Extracted debugger communication to DebuggerClient (Miroslav Bajtos)

  • Extracted frontend communication to FrontendClient (Miroslav Bajtos)

  • Removed unused code from session.js (Miroslav Bajtos)

  • Moved detection of conn errors to debugger. (Miroslav Bajtos)

  • Style: added gjslint rules and fixed style issues (Miroslav Bajtos)

  • Code-completions in console. (Miroslav Bajtos)

  • Display the main document as a script file. (Miroslav Bajtos)

  • Upgraded dependencies to recent versions. (Miroslav Bajtos)

  • Code clean-up (Miroslav Bajtos)

  • Removed overload of Reload page key shortcut. (Miroslav Bajtos)

  • Implemented live edit of script sources. (Miroslav Bajtos)

  • Fixed creation of a new watch expression (Miroslav Bajtos)

  • Prepared for v0.3.0preview1 release. (Miroslav Bajtos)

  • Removed leftover file. (Miroslav Bajtos)

  • Convert windows paths to file:// URLs. (Miroslav Bajtos)

  • Fixed title of html page and removed null error (Miroslav Bajtos)

  • Detach from debugger when front-end disconnects. (Miroslav Bajtos)

  • Removed test/hello.js (Miroslav Bajtos)

  • Code clean-up: removed unused code. (Miroslav Bajtos)

  • Fixed DebuggerAgent.setPauseOnExceptions. (Miroslav Bajtos)

  • DebuggerAgent.getFunctionDetails() (Miroslav Bajtos)

  • v8NameToInspectorUrl for evaluate scripts (Miroslav Bajtos)

  • Commands not used/supported, capability queries (Miroslav Bajtos)

  • Breaking on an Exception now provides a reason. (Michael Schoonmaker)

  • Updated the Console methods under both Runtime and Debugger. (Michael Schoonmaker)

  • Implemented 'Continue to Here' command (Miroslav Bajtos)

  • Implemented activate/deactivate breakpoints. (Miroslav Bajtos)

  • Implemented RuntimeAget.getProperties() (Miroslav Bajtos)

  • Implemented execution-control related commands (Miroslav Bajtos)

  • Implemented Call Stack. (Miroslav Bajtos)

  • Implemented breakpoints (Miroslav Bajtos)

  • Rework backend to support the new frontend. (Miroslav Bajtos)

  • Reuse stubs and commands from webkit-inspector. (Miroslav Bajtos)

  • Patched front-end/inspector.html (Miroslav Bajtos)

  • Updated front-end to blink branch 1507. (Miroslav Bajtos)

  • Display breakpoints in scripts loaded later. (Miroslav Bajtos)

  • Fixed breakpoint restore bug. (Miroslav Bajtos)

  • Update list of scripts on afterCompile event. (Miroslav Bajtos)

  • Restore breakpoints on debugee restart. (Miroslav Bajtos)

  • default should be backwards compatible (Philip Tellis)

  • missing " (Philip Tellis)

  • configure which interface to listen on so that we can avoid opening the debugger to the world if not needed (Philip Tellis)

  • Added meta tag to enable IE support via Chrome Frame (Glenn Block)

  • Added BSD License (Danny Coates)

  • updated 'Thanks' on readme (Danny Coates)

  • Syntax highlighting (Akzhan Abdulin)

v0.1.10

  • switched to socket.io, now works with Chrome 14+

v0.1.9

  • fixed page refresh

v0.1.8

  • bug fixes

v0.1.7

  • updated dependencies

v0.1.6

  • fixed crash on connect when using watch expressions (Issue 25)

v0.1.5

  • minor bug fixes

v0.1.4

  • experimental support for the profiles panel

v0.1.3

  • reverted websocket library to 1.3.53

v0.1.2

  • option to save changes from liveEdit

  • option to hide files from inspector

  • added config.json

    • webPort (port to host inspector interface)
    • debugPort (default debugger port to connect to)
    • saveLiveEdit (save changes to files edited with liveEdit)
    • hidden (regexp strings of files to hide from interface)

v0.1.1

  • Fixed pause button with node 0.3.1+

  • Fixed page refresh with node 0.3.1+

  • Shortened script file names in script list

  • Updated node-websocket-server library

v0.1.0

  • Require node 0.3+

  • Improved Scope Variables display

    • Better object type info
    • Inlined Array / Buffer lengths
  • Automatically saved application setting

    • last file shown
    • console history
    • watch expressions
  • Console object completion on .

  • Updated Web Inspector base

  • Moved debugger port to query string i.e. /debug?port=5858

  • New front-end <-> back-end message protocol

v0.0.4

  • ctrl+click line number for conditional breakpoints

  • enable pause on all exceptions button

v0.0.3

  • handle multi-byte characters from debugger (Issue 12)

v0.0.2

  • removed --start --debug-port --fwd-io flags

  • added debugger port UI

v0.0.1

  • added to npm registry