web-dev-qa-db-ja.com

GDBでスタックフレームを調べるにはどうすればよいですか?

今は、GDBを使用してバイナリファイルを逆アセンブルし、さまざまなレジスタなどをチェックアウトしています。スタック上のすべてを調べる簡単なコマンドはありますか?これは関数内のすべてに限定できますか?

61
GetOffMyLawn

現在のスタックフレームの場合:

  • 情報フレームフレームに関する一般的な情報を一覧表示します(メモリ内のどこから始まるかなど)
  • info args関数の引数をリストします
  • info localsフレームに保存されているローカル変数をリストします
67
Michael Mrozek

x/10x $spでスタックの内容を表示できます

これにより、スタックの上位10個の要素が印刷されます。

81
Flow
  • bt(またはbacktrace)は呼び出しスタックを提供します。

  • frame <args>は、スタックの特定のフレームに関する情報を提供します。

  • info localsは、スタック上のローカル変数に関する情報を提供します。

44
dlanod