Skip to content

Instantly share code, notes, and snippets.

View DonutEspresso's full-sized avatar

Alex Liu DonutEspresso

  • Netflix
  • California
View GitHub Profile

MDB is unlike most debuggers you've experienced.

It is not a source level debugger like gdb or lldb or even Node's builtin debugger

Generally used for postmortem analysis.

Postmortem is for Production and Development

We operate mostly on core files, though you can attach to running processes as well.

@zeusdeux
zeusdeux / Flamegraph_osx.md
Last active July 12, 2024 09:41
Node.js flamegraphs on osx using instruments.app, node and http://thlorenz.github.io/flamegraph/web/

Flamegraphs for your node processes on OS X

This document will help you generate flamegraphs for your node processes on OS X.

You can read about the various types of flamegraphs and how they are useful
in Brendan Gregg's wonderful write up here.

By the end of this document, you should have a flamegraph for you node app to play with.

Challenges in using postmortem debugging with promises

Introduction

This document seeks to summarize recent discussions about postmortem debugging, promises, and using them together. It starts by presenting what post-mortem debugging use cases are impacted negatively by the usage of promises. Then it describes some potential solutions that have been tried to fix these issues and their shortcomings.

Challenges in using post-mortem debugging with generators

Introduction

Generators were introduced in EcmaScript 2015. They provide a way to iterate over a set of values that are produced by a generating function.

Here's an example of how to use a generator:

function* myGenerator() {

Challenges in using post-mortem debugging with async/await

Introduction

async/await is a new feature of the EcmaScript programming language that combines generators and promises to improve the language-level model for writing asynchronous code.

It is currently in "stage 3" of the TC39 process, which means it's a "candidate" that needs more implementation experience.