ElectronでエラーのStackを正しくsource mapする方法

Electronのrenderer側で、エラーのスタックトレースの位置が変という問題の解決方法。

webpackのコンパイル後の位置が表示される

エラーオブジェクトのstackプロパティをログなどに表示させると、トレース位置が全部コンパイル後のもので不便。
以下のような感じ。

non-source-mapped-stack

これでは使い物にならない。

source-map-supportがfile://をサポートしていない

V8のStack traceにSource mapサポートを加えるsource-map-supportというのを使っているが、これを使っても上手く機能してくれない。
よく見るとファイルパスがfile://のURLになっている。
調べてみるとまじめに対応してないっぽい。

じゃあこのプロトコルの文字を消せばいいんじゃね?と思ったので外してみた。
変更点は以下の通り:

うまく動いた

source-mapped-stacktrace

これでまたデバッグの効率が上がった。
気が向いたらPR送っておこう。

投稿者:

Takuya

Digital crafts(man|dog). Love photography. Always making otherwise sleeping. born in 1984.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中