1

おそらくアドレスを debug .map ファイルなどにマッピングすることによって、呼び出し関数がプログラム的に何であるかを推測するのに十分なスタックを「覗く」ことは可能ですか?

さまざまな場所から呼び出される関数があります。基本的に、可能であれば、関数を呼び出した人をプログラムでログアウトして、時間の経過に伴うパラメーター値の進行を追跡し、接続できるようにしたいと考えています。間違っている可能性がある場所に戻ります。パラメーターを追加して、呼び出し元がユーザー文字列などを提供する必要があるようにすることもできますが、可能であれば、邪魔にならないようにしたいと思います。

4

2 に答える 2

1

GCC には __builtin_return_address などの機能があります ( http://gcc.gnu.org/onlinedocs/gcc/Return-Address.htmlを参照)。これらはデバッグまたは特別なテスト目的でのみ使用し、製品コードの一部としては使用しないでください。

于 2012-06-29T19:51:59.700 に答える
0

Windows API を使用して MiniDump ファイルを生成し、後でデバッガーに読み込むことができます。シンボルが使用可能な場合は、クラッシュをデバッグして変数の値を調査できるはずです。

于 2012-06-29T19:59:56.157 に答える