dumpme
Version:
Creates a coredump of the current process, without killing it
38 lines (21 loc) • 1.27 kB
Markdown
# dumpme
Creates a coredump of the current process, without killing it.
Supports Linux Kernel Hardening options.
## Pre-requisites
* [gdb/gcore](http://man7.org/linux/man-pages/man1/gcore.1.html) must be installed on the system
* obviously, works only on *nix systems
## How to use
#### `dumpme([gcore], [coredump])`
Where:
* `gcore` is the path and filename of the gcore binary (default: `gcore`)
* `coredump` is the path + file name of the coredump file to create (default: `core.<PID>`)
Returns a `Boolean` as an indicator of success/failure.
```js
const dumpme = require('dumpme');
dumpme();
```
## Why gdb/gcore is needed?
The only alternative to gcore is to use [google-coredumper](https://code.google.com/archive/p/google-coredumper/), which is done by [node-gcore](https://www.npmjs.com/package/gcore).
Using google coredumper programatically is way cleaner than gcore, but it has the following issues:
* coredumps generated by Google coredumper are not compatible with llnode (see https://github.com/nodejs/llnode/issues/61)
* Google coredumper might not work with newer Linux distributions (mainly due to Kernel Hardening features, but [not only](http://www.gossamer-threads.com/lists/linux/kernel/622686)), and it seems unmaintained since 2008