問題タブ [stack-size]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Eclipse で JUnit テストのスタック サイズを増やす
JUnit テストを実行しようとすると、 が原因で失敗するという問題がありStackOverflowError
ます。私の問題は、非常に大きなグラフを横断してすべての可能なパスを見つける再帰関数があることです。最も深い再帰が何であるかをカウントする再帰カウンターもあり、ほとんどのグラフで 3000 から 4000 の間にあります。JUnit テストを実行すると、StackOverflowError
設定した VM 引数に関係なく、常に正確に 2300 で発生します。
私はすでに試してみまし-Xss1m
たが、同じ再帰の深さでまだ発生してい-Xss10m
ません。StackOverflowError
すでにインターネットで少し検索したところ、実行中のEclipseアプリケーションのスタックサイズも設定する必要があることがわかりました。それで私はやりましたが、やはり役に立ちませんでした。
スタックサイズを設定しようとしたいくつかのスクリーンショットを次に示します。
私が見逃したアイデアはありますか?
java - stackSize メソッドが機能しないのはなぜですか?
私の目的は、拡張子と呼ばれる int をパラメーターとして受け取るメソッド stackSize を含むクラス Stacker を提供することです。シーケンス 1/2 + 1/4 + 1/6 + 1/8 + ... + ... + 1/2n の合計が extension 以上になるような最小の long n を返す必要があります。
Rat クラス (Rational Number) が、最初のパラメーターを分子として、2 番目のパラメーターを分母として使用して 2 つの分数を正しく加算すると仮定すると、このコードが機能しない理由はありますか?
デフォルトの Rat() コンストラクターは単純に有理数 (0/1) を作成し、Rat(extension) コンストラクターは有理数 (extension/1) を作成します。
}
テストケースを実行すると:
IllegalArgumentException を与える前に、しっかりと 30 秒間実行されます。
Rat クラスのコンストラクターと add メソッドを次に示します。
java - config.ini ファイルに -Xss64m フラグを追加しても機能しない
作成するすべてのプロジェクトの VM に -XssNUMm (例: -Xss64m) フラグを追加して手動で変更しないように、Eclipse で Java プロジェクトのデフォルトのスタック サイズを変更する必要があります。
config.ini ファイルにフラグを追加することにより、デフォルト値を変更する必要があることを読みましたが、機能していません。
-Xss64m フラグを追加してプログラムを実行しようとしたところ、"Exception in thread "main" java.lang.StackOverflowError " が発生しました。runAs または debugAs 構成に手動でフラグを設定すると、問題なく動作します。
Windows 7 と Eclipse バージョン: Luna Service Release 1 (4.4.1) を使用しています。
node.js - ドロップボックス nodejs api を使用して大きなファイルをアップロード中に最大呼び出しスタック サイズを超えました
ubuntuでノードサーバーを実行しています。nodejs でドロップボックス モジュールを使用しています。( https://www.npmjs.com/package/dropbox )
( https://github.com/danialfarid/ng-file-upload ) ライブラリを使用してファイルをアップロードするために、フロントエンドで angularjs を使用しています。25MB 未満の小さなファイルのアップロードは正常に機能します。サーバーへのアップロードとドロップボックスへのアップロードです。しかし、(50mb)のように大きい場合はファイルします。エラーを出しています。
ここに私が使用している関連コードがあります:
大きなファイルがサーバーにアップロードされていますが、ドロップボックス サーバーにアップロードできません。私はいくつかの調査を行いました。使用することを提案した人もいます ( https://nodejs.org/api/timers.html#timers_setimmediate_callback_arg )。しかし、実装方法。この問題の原因は何ですか? また node --stack-size=320000 app.js
、この後に新しいエラーが発生しました。
java - スタックサイズの検証と StackOverflowError
Java では、各スレッドには、パラメータで定義されたスタック メモリが割り当てられ、-Xss
デフォルト値があります。
ここで、以下のコードを として実行して、デフォルトのスタック サイズをオーバーライドしましたjava -Xss1k Test
。
最後の出力:
質問:
- 18479 までの値が出力されるのはなぜですか? 1KB のスタック サイズについて言及し、各スタック フレームに int を格納していたため、はるかに少ない値を期待していました。
- 1KB または 1024 バイトのスタック サイズでは、256 (1024/4) 個の int 値しか保存できませんでした。いいえ?再帰呼び出しごとに 1 つのスタック フレームが追加され、int がそこに格納されるためです。したがって、それぞれ 4 バイトのサイズを持つ 256 個のスタック フレームが追加されるとすぐに、StackOverflowError が発生するはずです。
- 私の理解では、グローバル スコープ
counter
は古い世代空間に存在するため、スタックの消費にはまったく寄与しません。確認?
c# - Visual Studio 2013 C# のスタック サイズを増やすことはできません
Visual Studio 2013 Community バージョンを使用して C# プロジェクトを作成しています。
私のプログラムは、HtmlAgilityPack を使用して HTML を解析し、スタック オーバーフロー例外を発生させます。スタック サイズを変更しようとしましたが、表示されるソリューション プロパティ ウィンドウには、スクリーンショットに示すようなオプションしかありません。
Visual Studio 2013 構成プロパティがありません
C# プロジェクトのソリューション プロパティ パネルで使用可能なオプションが C++ のオプションとは異なるという他の記事を読みました。C# プログラムのスタック サイズはどこで設定できますか?