/retrace

Regenerates stack traces for minified Dart applications

Primary LanguageDartBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

retrace

A command line utility to regenerate stack traces for minified Dart applications compiled with dart2js.

Installation

pub global activate retrace

Usage

retrace takes a source map file generated by dart2js and a minified stack trace. This is combined into a readable stack trace with original source code locations. For example:

bash$ dart2js someapp.dart

produces the following files

someapp.dart.js
someapp.dart.js.map

To run a retrace:

bash$ retrace someapp.dart.js.map
Paste your minified trace here:

Now, paste the minified stack trace into the console. Add a blank line to get the resulting stack trace:

ArgumentError - foo is null
    at Error (native)
    at WK.X4 (http://www.someapp.com/someapp.dart.js:7106:31)
    at lx.R1 (http://www.someapp.com/someapp.dart.js:5358:5)

ArgumentError - foo is null
    at Error (native)
    at web_audio/dart2js/web_audio_dart2js.dart:256 createBuffer (col 3)
    at someapp/base.dart:458                        setupAudio  (col 12)

More info

Written by Björn Melinder. The source code can be found at https://github.com/bjornm/retrace - any pull requests and suggestions are more than welcome. Happy bug hunting :)