- Category
- Developer Tools
- Rank
- No. 1174Tools index
Previous survey · No. 1160 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- nodejs
- GitHub
- 1.2k stars
- Latest release
- v4.0.0
- Date
About
lldb plugin for Node.js and V8 — inspect JavaScript state in live processes and core dumps.
What it does
It teaches LLDB how to interpret Node.js memory as JavaScript concepts. Engineers can reconstruct stack frames, inspect values and source, count heap objects, trace references, and view pending handles or requests while retaining LLDB’s native debugging facilities.
Why it's ranked here
The tool solves a narrow but difficult failure-analysis problem with unusually deep visibility. Its strongest case is postmortem diagnosis, where JavaScript frames, heap contents, references, and native state must be understood together. That value comes with substantial setup and compatibility constraints.
What's good
It combines JavaScript-aware inspection with the surrounding C++ debugger instead of separating the two worlds. Heap scans can group objects by type and size, locate instances, and search references by value, property, or string. Output controls cover source display, maps, full strings, array limits, detail levels, and pagination.
Tradeoffs
Installation requires LLDB and its development library, plus an officially distributed, currently active Node.js version. Distribution-provided Node.js builds may be incompatible. Core analysis also requires the exact executable that produced the dump. Windows needs additional build tooling, while Android and Termux support is explicitly experimental.
How to use it well
Use it when a Node.js crash, native package failure, or memory investigation demands both JavaScript and C++ context. Preserve each core dump with its matching Node.js executable, then inspect frames before narrowing into objects and references. It does not provide LLDB, a compatible Node.js build, or automatic crash-artifact collection.
Technical notes+
The native implementation is organized around LLDB and V8 memory readers in src/llv8.h and src/llv8.cc, Node environment and work-queue access in src/node.h and src/node.cc, command registration and execution in src/llnode.h and src/llnode.cc, and heap/reference scanning in src/llscan.h and src/llscan.cc. src/addon.cc exposes a Node-API addon, while index.js exports fromCoredump and adds iterable heap-type instances. package.json defines the npm binary, node-gyp lifecycle, plugin and addon test scripts, MIT license, and native dependencies. Makefile provides plugin, addon, platform installation, coverage, formatting, and cleanup targets.
Observed
- License
- MIT
- Primary implementation
- C++ plugin with a JavaScript packaging and addon layer
- Install surface
- Global npm package, optional Homebrew installation on macOS, and manual or system LLDB plugin loading
- Interfaces
- LLDB command plugin, command-line launcher, and optional Node-API addon
- Platform support
- macOS, Linux, FreeBSD, and Windows installation guidance; Android through Termux is experimental
- Runtime requirements
- LLDB is required, and supported Node.js builds must come from official channels
- Testing structure
- Separate Tape test commands exist for the LLDB plugin and Node addon
Read from README.md, Makefile, package.json, index.js, src/llv8.h, src/node.h, src/error.h, src/llv8.cc, src/node.cc, src/addon.cc, src/error.cc, src/llnode.h, src/llscan.h, src/llnode.cc, src/llscan.cc.
What it can do
Inspect JavaScript variables and objects in live Node.js processes
Running Node.js process → JavaScript variable values and object structures
Analyze JavaScript state in Node.js core dumps
Node.js core dump file → JavaScript execution state and memory contents
Debug V8 heap objects and structures
Live Node.js process or core dump → V8 internal object representations and heap data
Extract JavaScript stack traces from crashed processes
Node.js core dump → JavaScript call stack and function execution flow
Examine Node.js runtime internals through lldb commands
Node.js process and lldb debugging session → Runtime state information and internal data structures
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
