2012-07-04 16 views
26

を読み取るノードのエラーメッセージに関する他の質問とは異なりますRangeError:最大呼び出しスタックサイズがを超えていますエラーメッセージ。私は再発しているので、実際には非常に多くのことが繰り返されています。Node.jsの最大呼び出しスタックサイズを増やすには

ありがとうございました。 node --helpから

答えて

53

node --max-stack-size=val 

アップデート:コメントが示すように、ヘルプテキストは、まだあなたが代わりに--stack-sizeを使用する必要がv0.10.xノードで--max-stack-sizeオプションを、一覧表示にもかかわらず。ノードバージョン5および6に

node --stack-size=val 
+1

BANG !!!受け入れるために10分を待っていますが、それは馬鹿です。ありがとう。 –

+0

かなり分かりました。私は--helpを見ています。 –

+0

あなたが窓にいる場合、http://code.google.com/p/v8/issues/detail?id=1764を検討してください。 – Esailija

4

、Iは、最大スタックサイズを設定するオプションは、(下線付き)「--stack_size」であることを確認した:

$ node --v8-options 
[...] 
--stack_size (default size of stack region v8 is allowed to use (in kBytes)) 
     type: int default: 984 

最大スタックサイズを増やします

他にも述べたように、この値を大きくするとセグメント化エラーが発生する可能性があることに注意してください。バージョン6の私の最大安全値は1361ですが、バージョン5の方が高いと思われます。

拡大写真を見ると、スタックサイズが大きくなっても問題が解決しない場合があります。ノードに再帰関数を書くときは、バージョン6が適切な末尾呼び出しをサポートしているので、tail-recursivemannerに書き込むことをお勧めします。これにより、スタックサイズのオーバーフローがなくなります。

+0

問題は、スタックマップを作成する方法がたくさんあります。 –

関連する問題