An LLDB plugin for debugging Node.js processes and core dumps by inspecting JavaScript objects, stack frames, and memory.
llnode is an LLDB plugin that enables debugging of Node.js processes and core dumps by providing commands to inspect JavaScript stack frames, objects, and source code. It solves the problem of understanding JavaScript state during post-mortem analysis or live debugging when standard LLDB only shows C/C++ level information.
Node.js developers and engineers who need to debug complex issues, analyze core dumps from production crashes, or understand memory and object relationships in their applications.
Developers choose llnode because it provides unique JavaScript-aware debugging capabilities within the powerful LLDB framework, offering insights that are otherwise inaccessible when working with Node.js processes or core dumps.
An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides commands like 'v8 bt' for JavaScript backtraces and 'v8 inspect' for object details, seamlessly bridging native and JavaScript debugging layers within LLDB.
Enables analysis of core dumps from crashed Node.js processes, crucial for diagnosing production issues without a live process, as shown in the usage examples.
Includes tools like 'findjsinstances' and 'findrefs' to trace object relationships and identify memory leaks, offering insights beyond standard debugging.
Integrates directly into LLDB, leveraging its powerful framework while adding Node.js-specific commands, as demonstrated in the command list for active handles and requests.
Requires specific LLDB versions and manual configuration across different OSes, with warnings against sudo installations and incompatible Node.js distributions, making setup error-prone.
Only supports active, officially distributed Node.js versions, explicitly excluding common installations like default Linux packages, which restricts usability in some environments.
Lacks a graphical user interface, relying solely on LLDB's command-line, which can be less intuitive for developers accustomed to GUI-based debuggers like Chrome DevTools.