1

GDBを使用してコマンドラインでデバッグしています。アドレスを介して「display」コマンドを使用して追跡したい typedef 構造体がいくつかあります。私のコマンドは次のようになります。

display {Link} 0x100103980

リンクがリンクされたリストのどこにあるか。このアドレス以外にアクセスする方法はありません。

編集:明確にするために、 Link は変数ではなく構造体型です。私のリンクには変数名はなく、アドレスだけです。

私の出力は次のようになります。

5: {Link} 4296030592 = {
  value = 100, 
  next = 0x1001039e0
}

ご覧のとおり、アドレスは 16 進数ではなく、int 形式になっています。/x を使用してみましたが、どちらも機能しませんでした:

(gdb) display/x {Link}0x100103980
6: /x {Link} 4296030592 = {
  value = 0x64, 
  next = 0x1001039e0

「display」でアドレスを 16 進数で表示することは可能ですか? もしそうなら、どのように?編集:OSX 10.8を実行しています。

ありがとう

4

1 に答える 1

0

アドレスではなく名前で構造体を呼び出すと、アドレスが 16 進数で表示されます。printまたは、変数のアドレスを表示するために使用します。

(gdb) print/x &Link     print address of variable Link in hex

機能別GDBコマンド - 簡単ガイド

于 2013-10-01T00:21:55.307 に答える