Structured peer-review of academic papers.
The English summary is being prepared. Showing the original description.
Debug Node.js via --inspect + Chrome DevTools Protocol.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
When console.log isn't enough, drive Node's built-in V8 inspector
programmatically from the terminal. Real breakpoints, step in/over/out,
call-stack walking, scope dumps, and arbitrary expression evaluation.
Prefer node inspect first. It's always available and the REPL is fast.
console.log can't reachDon't use for: things console.log solves in under a minute.
node inspect REPLLaunch paused on first line:
node inspect path/to/script.js
# or with tsx
node --inspect-brk $(which tsx) path/to/script.ts
The debug> prompt accepts:
| Command | Action |
|---|---|
c | continue |
n | next line (step over) |
s | step into |
o | step out |
sb('file.js', line) | set breakpoint |
cb('file.js', line) | clear breakpoint |
watch('expr') | watch expression |
exec('expr') | evaluate in paused frame |
backtrace / bt | show call stack |
list(N) | show N lines around current |
For automated debugging (many breakpoints, collect state across runs):
# Install
npm install chrome-remote-interface
# Launch node with inspect
node --inspect-brk=9229 path/to/script.js &
# Attach via script
node -e "
const CDP = require('chrome-remote-interface');
(async () => {
const client = await CDP({port: 9229});
const {Debugger, Runtime} = client;
await Debugger.enable();
await Runtime.enable();
Debugger.paused(({callFrames}) => {
console.log('Paused at:', callFrames[0].location);
// Inspect scope, evaluate expressions, etc.
});
// Set breakpoint
await Debugger.setBreakpointByUrl({lineNumber: 10, url: 'file:///path/to/script.js'});
await Debugger.resume();
})();
"
# Start with --inspect (no brk = doesn't pause on start)
node --inspect=9229 path/to/server.js
# Attach from another terminal
node inspect localhost:9229
# Start with inspect
node --inspect path/to/script.js
# In another terminal, capture profile
node -e "
const CDP = require('chrome-remote-interface');
(async () => {
const client = await CDP({port: 9229});
const {Profiler} = client;
await Profiler.enable();
await Profiler.start();
// Wait for workload...
await new Promise(r => setTimeout(r, 10000));
const {profile} = await Profiler.stop();
require('fs').writeFileSync('profile.cpuprofile', JSON.stringify(profile));
})();
"
# Load profile.cpuprofile in Chrome DevTools > Performance
--inspect doesn't pause; --inspect-brk
pauses on first line. Use brk when you need to catch early code.--inspect=9230.node inspect works with both, but ESM may show different
call stack formatting.--enable-source-maps for accurate mapping.No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Structured peer-review of academic papers.
The English summary is being prepared. Showing the original description.
Dark-themed SVG architecture/cloud/infra diagrams as HTML.
The English summary is being prepared. Showing the original description.
Search arXiv papers by keyword, author, category, or ID.
The English summary is being prepared. Showing the original description.
Monitor blogs and RSS/Atom feeds via blogwatcher-cli.
The English summary is being prepared. Showing the original description.
Onboarding conversation to generate a user profile.
The English summary is being prepared. Showing the original description.
Generate charts: select type, extract data, render image.
The English summary is being prepared. Showing the original description.