問題タブ [callstack]

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.

0 投票する
3 に答える
196 参照

java - Javaがコールスタックの位置Nに戻る

Javaコードでキーワードを使用するreturnと、呼び出しスタック内の最後の呼び出しコードに実行が戻ります。オブジェクトfooがを呼び出す場合、メソッドbaz.bar()returnキーワードはでbarコードの実行を続行しますfoo

上記のシナリオでを呼び出し、を呼び出すオブジェクトfooがあるとします。とにかくJavaにキーワードなどを使用して、メソッド内のコードが元に戻ることができるようにすることはできますか?foofoofoofoofoofoofoofoobaz.bar()returnbarfoo

(例外をスローせずに)

0 投票する
2 に答える
69 参照

c# - 呼び出し元のメソッドのスコープに関連するプロパティを設定するにはどうすればよいですか?

「SetData」メソッドを使用して値をスレッドに関連付ける方法を探しているわけではありません。

呼び出し元のメソッドのスコープ中にのみ存在するある種のデータを保存する必要があります。これは、直接の親またはスタックで行われる他の呼び出しである可能性があります。例えば:

この場合、「someInfo」ローカル変数と「someKey」キーを持つデータセットの両方が、「SomeMethod」が戻った後に消えます。このようなことは可能ですか?これはスタックのルールに反するかもしれませんが、誰かがアイデアを持っているかどうかは誰にもわかりません...

obs: 現在、唯一の方法は、すべてのメソッドのコール スタックの先頭で、コンパイラに辞書への参照を宣言させることだと思います。そのディクショナリは、メソッドが返されたときにガベージ コレクションの対象になります。

0 投票する
4 に答える
428 参照

javascript - 複雑な JavaScript。何が私を呼んだのですか?

私が取り組んでいるプロジェクトではjQueryを使用しています。

一連の Ajax 呼び出しが行われ、他の HTML フラグメントを load() して、他のフラグメントを load() します。全体が混乱しています。コードは書いていません。

メソッドを呼び出しているものを把握できるように、コールスタックをたどることができるツールはありますか? これを理解するのに役立つブラウザツールはありますか?

解決策:
最終的に、サーバー側のコードに <script src="..." が挿入されていたため、この問題が発生していました。あなたの提案は本当に役に立ちました-それはそれらの組み合わせであり、一時的にAjaxを非同期ではなく同期に設定することで、問題を追跡するのに役立ちました。

0 投票する
2 に答える
214 参照

java - Java での継承

最近、私は継承の概念を経験しました。

ご存知のように、継承では、superclassオブジェクトはオブジェクトの前に作成/初期化されsubclassます。したがって、 のオブジェクトを作成するsubclassと、すべてのスーパークラス情報が含まれます。

しかし、私はある時点で立ち往生しました。

スーパークラスとサブクラスのメソッドは別々の呼び出しスタックに存在しますか? もしそうなら、specific reason同じものはありますか?そうでない場合、なぜ同じ呼び出しスタックに表示されないのですか?

例えば

次に、上記の 2 つのメソッド ieplay1( )play2( )は別のコール スタックに表示されますか?

ありがとう。

0 投票する
2 に答える
3378 参照

codeigniter - DB駆動の動的コントローラ選択のためのCodeigniter pre_systemフック - 最善のアプローチ?

これに対する解決策を暫定的に見ることはできますが、明らかに明白で簡単なアプローチがあるのではないかと考えていました。

私の目的は、特定の URI の最初のセグメントを使用して、どのコントローラーを実行する必要があるかを DB に照会することです。

セグメント 1 の結果のコントローラー名を使用して URI を再構成し、システムが通常どおり処理を続行できるようにする必要があると思います (したがって、pre_system フック)。

必須ではありませんが、同じ DB リクエストからの他の変数をいくつか保持して、後でコール スタックで使用したいと思います。これは、グローバル変数を使用して行う必要があると思いますか?

より良い提案は喜んで受け取られます。

ありがとう。

0 投票する
1 に答える
883 参照

android - 関数呼び出しスタックに基づいてAndroidアプリコードを最適化する方法は?

Android OSは、すべての関数呼び出しをスタックに格納すると言われています。これは多くの問題を引き起こし、プログラムが適切に機能している場合でも、実行時に「一時的な中断」を引き起こす可能性があります。

だから問題は、どうすればこれが起こらないようにすることができるかということです。明らかな解決策は、過度に/不必要にオブジェクトを作成しない、フィールドにアクセスしない関数への静的呼び出しを実行するなど、他の賢明な行為とともに、機能化を減らすことです...

別の方法はありますか?それとも、これはプログラマー側で注意深くコードを書くことによってのみ行うことができますか?JVM / JITは、これを考慮してコンパイル時にバイトコードを自動的に最適化しますか?

ご回答ありがとうございます!!

0 投票する
1 に答える
538 参照

.net - FaultException の完全なコールスタックを取得する方法

例外をスローする WCF サービスがあります。

InnerException なしでクライアントで FaultException を取得します。

元の例外のコールスタックの一部しか持っていないため、何が原因であるかを理解するのは困難です。

元の例外または少なくともすべてのコールスタックを取得するにはどうすればよいですか?

ありがとう。

0 投票する
4 に答える
4199 参照

c++ - C++ プログラムでの非常に奇妙なスタック オーバーフロー

しばらく前にプログラム (Mac OS X、C++、SDL、FMOD) を書きましたが、かなり良いパフォーマンスが得られました。しかし最近、その機能を拡張したいと思い、さらにコードを追加しました。そして今、それを実行して新しい機能をテストしようとすると、プログラムが SIGABRT でクラッシュします。

デバッガーを調べると、関数スタックで次のように表示されます。

  • _殺す
  • kill$UNIX2003
  • 高める
  • __アボート
  • __stack_chk_fail
  • odtworz <- 変更された関数

私の知る限り、「__stack_chk_fail」はスタック オーバーフローを示します。しかし、それはそれについて最も奇妙なことではありません。この関数「odtworz」には、次のようなコードがあります。

mode はグローバル変数で、以前の関数で値「2」に設定されています。そして想像してみてください - このモードでは決して実行されない 3 番目の if ステートメント (モード == 3) を削除しても、プログラムはクラッシュしません! 実行されることさえないコードを削除すると、状況が改善されます!

このコードはプログラムの他のモード用であるため、削除したくありません。そして、それはそこでうまく機能します。それで、私が検索できるヒントはありますか?これで何が間違っている可能性がありますか?

0 投票する
2 に答える
1018 参照

r - 再帰式に関するR警告メッセージ:失敗した場合は、再試行してください

式が失敗した場合に再試行する関数を作成したいと思います。これが私の作業バージョンです:

上記の関数を削除すると、suppressWarnings()再帰呼び出しごとに一連の警告が表示されます。誰かが私が間違っていることを知っていますか?

繰り返し実行できる例を次に示します。

0 投票する
12 に答える
285934 参照

java - java.lang.StackOverflowErrorの原因

何が原因java.lang.StackOverflowErrorでしょうか?私が得たスタックのプリントアウトは、それほど深くはありません(5つのメソッドのみ)。