2012-01-06 11 views
2

最近、私は数日間ペーストを解決しようとしていたメモリの問題に遭遇しましたが、不幸にも運がありません!Javaコードを実行しているときにEclipseのStackOverflowError

私は、Mac OS X 10.6.8/8ギガバイトのRAM(任意の配分の問題すべきではない!)

Eclipseのバージョンはヘリオスで実行しています。私もEclipseでの私のVM引数に "-Xmx1536m" を追加しようとしましたが、なしている

-startup 
../../../plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar 
--launcher.library 
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.0.v20100503 
-product 
org.eclipse.epp.package.java.product 
--launcher.defaultAction 
openFile 
-showsplash 
org.eclipse.platform 
--launcher.XXMaxPermSize 
1G 
--launcher.defaultAction 
openFile 
-vmargs 
-Dosgi.requiredJavaVersion=1.5 
-XstartOnFirstThread 
-Dorg.eclipse.swt.internal.carbon.smallFonts 
-Xms256m 
-Xmx512m 
-XX:PermSize=1024m 
-XX:MaxPermSize=1024M 
-Xdock:icon=../Resources/Eclipse.icns 
-XstartOnFirstThread 
-Dorg.eclipse.swt.internal.carbon.smallFonts 

java -version 
java version "1.6.0_29" 
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527) 
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode) 

私のJava例外:

Exception in thread "main" java.lang.StackOverflowError 

そして、私たeclipse.ini運が全くない!

ありがとうございます。通話のこの種のにStackOverflowErrorにつながる

void method(int a) { 
    method(a); 
} 

:あなたのような無限の再帰呼び出しを持っているとき

+3

エラーのスタックトレースを投稿できると便利です。それは問題のある方法についての考えを与えるでしょう。コード内で再帰を使用していますか?もしそうならベースケースを注意してください。 – slhsen

+0

これは、このサイトの典型的な問題です! ;-) –

+0

私はもう一度デバッグし、コード内の(おそらく)欠けているケースに注意を払います。 – JavaCake

答えて

1

にStackOverflowErrorは、一般的なエラーです。

このような無限の再帰呼び出しがある場合は、コードをチェックインするか、無限ループが発生する可能性があります。プロジェクトを右クリックEclipseの で

+0

もう一度コードをステップ実行します。私のコードが二次的なマシン上で例外なくコンパイルされるのは奇妙な偶然のようです。そして、私は実際に再帰を使って作業しています。 – JavaCake

+0

@JavaCakeあなたのコードを投稿してください。無限の再帰呼び出しが多分識別される場合があります。 –

0

は、下記の手順:セクションには、以下の書き込みVMの引数にはJREタブ

    • 実行
    • 実行構成
    • クリックは -Xss 2グラムパラメータ

    デフォルトでは、スタックメモリのサイズは512 KBです。私たちは必要に応じて増やすことができます。

    • 適用し、プロジェクトを実行しをクリックし...

    任意のクエリの場合であれば、コメントセクション内のコメントを元に戻します。

  • 関連する問題