bugger alternatives and similar modules
Based on the "Debugging / Profiling" category.
Alternatively, view bugger alternatives based on common mentions on social networks and blogs.
-
debug
A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers -
ndb
ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools -
why-is-node-running
Node is running but you don't know why? why-is-node-running is here to help you. -
llnode
An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps. -
swagger-stats
API Observability. Trace API calls and Monitor API performance, health and usage statistics in Node.js Microservices. -
longjohn
Long stack traces for node.js inspired by https://github.com/tlrobinson/long-stack-traces -
jstrace
Dynamic tracing for javascript, in javascript (similar dtrace, ktap etc) -
NiM
Streamline Your Node.js Debugging Workflow with Chromium (Chrome, Edge, More) DevTools. -
thetool
thetool is a CLI tool to capture different cpu, memory and other profiles for your node app in Chrome DevTools friendly format -
ctrace
Well-formatted and improved trace system calls and signals (when the debugger does not help)
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of bugger or a related project?
Popular Comparisons
README
bugger
Warning: Experimental
bugger
provides Chrome Devtools bindings for node.
It integrates tightly with Chrome which means two things:
- It attempts to fully support the usual Devtools experience, including workspaces and profiling tools.
- It may break at any moment because Chrome moves fast.
Installation
npm install -g bugger
Usage
Start the script process
Start example/alive.js
in debug mode:
bugger example/alive.js
Pass parameters to the script:
# This will be interpreted as a port paramter for alive.js
bugger example/alive.js --port=3000
# This will be interpreted as a port paramter for bugger itself
bugger --port=3000 example/alive.js
Pass V8 options (or advanced node options):
node --trace_gc $(which bugger) example/alive.js
Open the devtools
The correct URL will be written to the output. It should look similar to this:
chrome-devtools://devtools/bundled/devtools.html?ws=127.0.0.1:8058/websocket
You can also open chrome://inspect
if you started Chrome with --remote-debugging-targets=localhost:8058
.
The process should pop up on that page almost immediately.
Options:
-v, --version
: Print version information-h, --help
: Show usage help-p, --port
: The devtools protocol port to use, default: 8058-b, --brk
: Pause on the first line of the script
Examples:
Using bugger with popular frameworks is easy and it is a lot faster then using node-inspector.
Jest:
Run node
with bugger and jest:
node --harmony $(which bugger) ./node_modules/jest-cli/bin/jest.js --runInBand
A chrome devtools URL will appear in console, just copy and paste it into chrome.
Mocha:
Run bugger it with _mocha
:
bugger --brk $(which _mocha)
A chrome devtools URL will appear in console, just copy and paste it into chrome.
Features
Console Tab
- Basic support for console API
- Evalute expressions in the console
- Fully featured repl when not paused (including require)
- Parts of the Command Line API supported
Sources Tab
- Step-by-step debugging
- Variable introspection
- Live edit the running JavaScript code and persist it using workspaces (really just a Devtools feature)
- Break on [uncaught] exception
- Uses existing source maps (e.g. created via
babel --source-maps
orcoffee --map
) - Forked modules show up as worker threads. This includes modules forked via
cluster
.
Known Issues
- For
babel-core/register
andcoffee-script/register
, editing the files doesn't work #48
Network Tab
- Monitor outgoing http(s) requests your script does
- Timing of requests, including connect times etc.
Timeline Tab
- GC events
- Basic heap usage graphs
Known Issues
- The timeline tab doesn't do anything useful right now. In future it should show (#47):
console.{time, timeEnd, timeStamp}
- Network request
- Heap usage over time
- Profiling data
Profiles Tab
- Heap snapshots
- CPU profiles
- Track heap allocations
- Inspect heap objects in the console via
$0..$4
Kudos to...
...the original projects
bugger was heavily inspired by node-inspector and nodebug.