2011-08-12 18 views
1

URLコンテンツをスクラップするノードプログラムを作成しました。多くのものがマシンに投げ込まれたり投げ捨てられたりするので、私はuncaughtExceptionのプロセスリスナーを持っていて、デーモンを強制終了させるのではなく、エラー結果をログファイルに投げるだけです。最近、そのログファイルを見て、私は何か気に気づいた。ここでは、頻繁にスローされますエラーとスタックトレースです:不思議な参照エラーが発生しました(ノードv 0.4.9を使用)

スタックトレース:

ReferenceError: GEL is not defined at Object._onTimeout (http://www.freep.com/article/20110809/ENT04/110809051/1001/news:undefined:undefined:2:25) at Timer.callback (timers.js:83:39)

ない私が知っている非常に有益。当然、私はGELのための私のソースコードをrgしました。それから、GELのすべてのノードモジュールの依存関係(それほど多くはない)をrgreppedしました。それから、私はGELのノードを作成しました。その後、私はv8をGELのためにrgreppedしました。それから私は停止し、StackOverflowに尋ねた...何が間違っている? (私は、ランダムな文字列やその他もろもろをevalにしようとするように私のコードでは、あまりにも不合理な何もしていないよ。)

重要:ノードv 0.4.9 ...それはまた、Vにスローされます考える0.4.10

+0

:私は私のregexアウトストリップ<script>タグを向上させることにより、持っていた問題を修正し、私のjsdom.envコールに余分features引数を渡します無視される私はこれがここで何が起こっているのか把握できません。 – jcolebrand

+0

ありがとうございます。うん、私はそれが明らかにノードやv8やsconsよりも自分のコードの誤りである可能性が高いと判断します。私はこれを再現して、より良いデバッグツールをいくつか実行しようとします。 (デーモンには高いスループットがあり、それを再現するために必要な部分を取得するために多くのロギングが必要になるため、これは直ちに行うのが簡単ではありません)。私はまだ参照エラーをどのように取得しているかについて非常に困惑しています。私が知る限りどこでも 'GEL'への言及はありません。 – small

答えて

3

私は問題を理解した。それは実際に私のコードの欠陥だった。私がデバッグしていたコードは、jsdomモジュールを使用していました。このモジュールは、私が掻いていたWebページからjavascriptを解釈していました。あなたがいないなら知っているだけさせる、私は追加することは何もありません

jsdom.env({ 
    html: myHtml, 
    done: myCallback, 
    url: url, 
    features : { 
     FetchExternalResources  : [], 
     ProcessExternalResources  : false 
     } 
}); 
関連する問題