DWARF2 デバッグ形式では、.debug_frame セクションにある CFI (Call Frame Information) の助けを借りて、スタックの巻き戻しがサポートされます。これはまさに、すべてのレジスタが前のフレームで値を取得するためのルールを保持するテーブルです。ただし、これらのルールはすべて、レジスタがスタック上のある場所に保存されるという事実に依存しています。これは、フレーム ポインターがない場合に前のフレーム レジスターでスタック ポインターの値を取得する場合には当てはまりません。このような場合、スタック ポインタはスタックに保存されず、その値をインクリメントおよびデクリメントするだけで管理される場合があります。ただし、dwarf2 (または一般的には dwarf 形式) では、レジスタ値が現在の値を超える式であることを示す方法はありません。したがって、私の質問は、dwarf2 デバッグ形式でスタックの巻き戻し中にスタック ポインターの値を取得する方法です (フレーム ポインターがない場合)。
-BV