問題タブ [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 投票する
9 に答える
45280 参照

assembly - 最新のシステムにおけるスタックの成長の方向性は?

C でいくつかのトレーニング資料を準備しており、サンプルを典型的なスタック モデルに適合させたいと考えています。

Linux、Windows、Mac OSX (PPC および x86)、Solaris、および最新の Unix では、C スタックはどの方向に成長しますか?

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

ms-access - コール スタックを検査する方法

CallStackMS Access 2003 の VBAを見ることはできますか? つまり、何から何と呼ばれていたのprocedureかを知ることができるでしょうか?functionfunction

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

c++ - コールスタック フレームの数をカウントするにはどうすればよいですか?

C++ デバッグ アプリケーションの場合、コールスタック フレームの数を簡単にカウントできるようにしたいと考えています。これを行うOS機能はありますか?

これは、Windows と Posix、つまりクロス プラットフォームで必要です。いずれかまたは両方のプラットフォームに対するソリューションは素晴らしいでしょう。

スタックをたどってすべてのフレームを見つけることができますが、これを行うための簡単な呼び出しがあるかどうか疑問に思いました。

0 投票する
5 に答える
1081 参照

perl - Perlで繰り返し発生するパッケージ呼び出しを検出するにはどうすればよいですか?

私はPerlプロジェクトを持っていますが、循環パッケージ呼び出しを行うことで問題が発生しました。以下のコードは問題を示しています。

これが実行されると、各パッケージは、コンピュータのすべてのメモリが消費されてロックされるまで、他のパッケージを呼び出します。これは悪い設計であり、このような循環呼び出しを設計で行うべきではないことに同意しますが、私のプロジェクトは十分に大きいため、実行時にこれを検出したいと思います。

弱体化関数とData::Structure :: Utilについて読みましたが、循環パッケージロードがあるかどうかを検出する方法がわかりません(反復ごとに新しいコピーが作成されて保存されるため、想定しています) $ thisハッシュの各コピーで)。何か案は?

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

c - スタックオーバーフローのポイントを検出する方法

Cプログラムに次の問題があります。どこかにスタックオーバーフローがあります。最適化なしでデバッガーシンボルを使用してコンパイルしたにもかかわらず、プログラムは次の出力で終了します(Linuxではgdbの内部または外部)。

プログラムは信号SIGSEGV、セグメンテーション違反で終了しました。プログラムはもう存在しません。

これが実際にスタックオーバーフローであることを検出できる唯一の方法は、valgrindを介してプログラムを実行することでした。問題を特定するのに役立つコールスタックトレースをオペレーティングシステムに強制的にダンプさせる方法はありますか?

残念ながら、gdbではプログラムを簡単に利用することもできません。

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

callstack - リファクタリングとコールスタックの増加との間の最適なトレードオフは何ですか?

私は、多くの大きな (1000 行以上) メソッドを、必要に応じて単体テストできる素敵なチャンクにリファクタリングすることを検討しています。

私のラファクタリングされたブロックの多くには他のリファクタリングされたブロックが含まれており、私の大きなメソッドは他の大きなメソッドによって呼び出された可能性があるためです。

リファクタリングがコールスタックの問題につながる可能性があるかどうかを確認するために、これを議論のために開きたいと思います。ほとんどの場合そうなるとは思えませんが、リファクタリングされた再帰メソッドと、無限ループを作成せずにスタック オーバーフローを引き起こすことができるかどうかについて疑問に思いましたか?

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

c - C:別のモジュールへの関数呼び出し後に渡されたパラメーターがNULLになる理由

私はCプログラムで奇妙な振る舞いをしています。foo.cというファイルで、次のシグネチャを持つ関数にいくつかの引数を渡します。

ここで、foo.hを含む別のCファイルからこの関数を呼び出すと、たとえば次のようになります。

fooでは、最初にa、b、cが正しいですが、最後は常にNULLです。最後のパラメーターとして使用するタイプの種類や、この関数をどこから呼び出すかは関係ありません(以前の操作がなくてもmainで直接使用する場合でも)。ファイルはコンパイルされ、1つの実行可能ファイルにリンクされます。foo()を、それが呼び出された場所から同じソースファイルに入れると、すべてが機能します。

関数が外部委託されたときに最後のパラメーターがNULLである理由は何でしょうか?

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

visual-studio-2005 - 断続的にクラッシュする devenv.com のコール スタックを取得する方法は?

devenv.exe を呼び出してソリューション ファイルをビルドする夜間ビルド DOS バッチ スクリプトがあります。断続的に devenv.com のクラッシュを観察します。DW20.exe の「痛みを分かち合う」ダイアログが表示されます。

1) [デバッグ] ボタンを押すと、通常の [デバッガーの選択] ウィンドウが表示されません。むしろ、何もしません。

2) Visual Studio を起動して devenv.com にアタッチしようとすると、アプリケーションがデッドロックしているか、操作が完了するのを待っているように見えると表示されます。(DW20.exeでデバッグしているためだと思います)

適切なコール スタックを取得するために何をすることをお勧めしますか?

編集

WinDBG をアタッチすることに成功しました。k コマンドを実行しました。以下は、コンパイラ チームに渡すことができる意味のあるものに見えますか? 現在の例外を確認する方法はありますか?

私は!analyze -v仕事に就こうとしています。

編集2

WinDBG には、これらの素晴らしい SOS 拡張機能があることがわかりました。どうやらそれらを使用してC#コンパイラをデバッグできます...

例外の内容を調べる方法をまだ探しています。!PrintException は例外を検出しませんでした。

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

c - スタック変数は GCC __attribute__((aligned(x))) によって整列されていますか?

私は次のコードを持っています:

そして、私は次の出力を持っています:

のアドレスがa[0]の倍数ではないのはなぜ0x1000ですか?

正確に__attribute__((aligned(x)))は何ですか?この説明を誤解していませんか?

gcc 4.1.2 を使用しています。

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

events - tinyos のイベントはスタック内で通知されますか?

tinyos2 プログラミング マニュアルで明確に指定されていないと思われることを質問したかったのです。コマンドまたはタスクがインターフェイス イベントを通知するとき、ワイヤード関数はすぐに呼び出されます (つまり、同じコールスタック内で)、またはこれらの通知されたイベントは後で実行するために「ポスト」されますか?

私はそれが前者であると信じがちですが、それを明確にするだけです。