次の質問があります。システムの観点から、これを簡単かつ効率的に達成する方法を知りたいです。
デバッグ情報を使用してビルドされたタスク「abc」と、通常は 0 に設定されているグローバル変数「TRACE」が与えられた場合、次の時間の間に呼び出された各関数のアドレスを「ログ」ファイルに出力したいと思います。 TRACE は 1 に設定され、再び 0 に戻ります。
私は、ジャンプ/フレームポインタープッシュの一般的なパターンの命令を調べ、アドレスを書き留めてから、アドレスをシンボリックから関数名にマッピングする、開発するフロントローディング/ブートストラップタスクを通じてこれを行うことを検討していましたabc のデバッグ情報。ただし、フロントローダーなしでこれを行うためのより良いシステムレベルの方法がある可能性がありますが、何が最も実現可能かはわかりません。
そこに実装されたテクニックはありますか?