Package Exports
- node-inspector/bin/inspector
- node-inspector/bin/inspector.js
- node-inspector/package.json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-inspector) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Node Inspector is a debugger interface for nodeJS using the WebKit Web Inspector.
Getting Started
Requirements
- nodeJS
- versions: 0.1.101 or later
- A WebKit based browser: Chrome, Safari, OmniWeb, etc.
Setup
- make a debug build of node ./configure --debug make make install
If you get an error like: Build failed: Missing node signature for... try make distclean then try again.
Debugging
There are two ways to use node-inspector. First I'll describe the easy way. As an example lets debug test/hello.js, from the root project directory (node-inspector)
start the inspector like this: node bin/inspector.js --start=test/hello.js
Note: --start path must be relative to the current working directory or absolute
open http://127.0.0.1:8080 in your favorite WebKit based browser
Chrome 5 users MUST use 127.0.0.1 NOT localhost or the browser will not connect to the debugger
you should now see the javascript source from nodeJS
set some breakpoints, see what happens
This will start a child process node_g --debug test/hello.js and host the inspector
interface at http://localhost:8080. The other way is to connect the inspector to an
external node process.
start a node process: node_g --debug=7878 test/hello.js
start the inspector: node bin/inspector.js --debug-port=7878 --web-port=8000
For more information on getting started see the wiki
Options
--start=[file] starts [file] in a child process with node_g --debug
[file] path can be absolute or relative to $PWD
--start-brk=[file] same as start with --debug-brk
--web-port=[port] port to host the inspector (default 8080)
--debug-port=[port] v8 debug port to connect to (default 5858)
--fwd-io forward stdout and stderr from the child process to inspector consoleExtensions
This project started as a Chrome extension. For more info see the wiki.
Cool stuff
- the WebKit Web Inspector debugger is a great js debugger interface, it works just as well for node
- uses a WebSocket to connect to debug-agent, so no polling for breaks
- remote debugging
- javascript top to bottom :)
Known Issues
This is alpha quality code, so use at your own risk:
- be careful about viewing the contents of Buffer objects, each byte is displayed as an individual array element, for anything but tiny Buffers this will take too long to render
- while not stopped at a breakpoint the console doesn't always behave as you might expect
- pause on exceptions doesn't play nice with the node event loop
- closing the inspector does not stop debugging, you must stop inspector.js manually
TODOS
- save application settings
- profiler panel
Thanks
This project respectfully uses code from and thanks the authors of: