node.jsで実行した場合のこのコードの出力は、最後の行(行番号9)で発生したエラーのスタックトレースです。7行目で発生するエラーは、ノードによって何らかの形で「吸収」されます。try / catchステートメントでラップしても、ノードのデフォルトのエラー処理コードから得られるほど詳細なスタックトレース出力を取得できないようです。
7行目のエラーをキャッチし、9行目からできるだけ詳細を取得するにはどうすればよいですか?
jsdom = require('jsdom');
var testHTML = "<html><head><title>Hi!</title></head><body><p>Hi!</p></body></html>";
jsdom.jQueryify(
jsdom.jsdom(testHTML).createWindow(),
'http://code.jquery.com/jquery-1.4.2.min.js' ,
function() {
var a = broken();
});
var a = broken();
(注:これは、jQueryifyコールバック内からの呼び出しの結果として形成される「深く」ネストされたスタックで発生するエラーで発生する、はるかに複雑なスクリプトからの単純化された例であり、デバッグはエラーに関する詳細な統計を取得することができずに、今のところ絶対的な痛み)