Bringing JavaScript Back to Life
summary
Claims ability to resurrect JavaScript values from a crashed process by reading raw core dumps using llnode as an LLDB plugin and a new npm addon Java API. It extracts v8 offsets via a script, reads postmortem metadata like v8_dbg_ symbols, decodes SMIs, pointers, maps, strings and descriptor arrays, and reconstructs JS frames, arguments and heap objects. Works with Node.js LTS v8 builds and v8 shells but frequently breaks when V8’s internal layouts change.
AI-written summary · about
chapters (11)
- 0:00Introduction and agenda
- 1:09Post-mortem diagnostics
- 6:18Case study: Lnode
- 7:04V8 metadata and debugging
- 8:55Reconstructing JS values
- 9:56Heap inspection techniques
- 15:56Stack frame unwinding
- 16:59Symbol reconstruction
- 18:35API development
- 19:45Usage of the diagnostic API
- 20:39Future and conclusions
related talks
28mPost mortem NodeJS debugging
50mPost-Mortem Debugging in Node.js
57mTroubleshooting Node.js Applications Under the Hood
20mCore Files
28mSegmentation fault! Low-level debugging for JS developers
18mMemory Layout of V8's Heap
23mRuntime.JS: V8 JavaScript Kernel
25mNode js applications diagnostics under the hood
