たとえば、0x46767f0 が NSString* に属していることはわかっていますが、探しているバグを見つけるのに役立つ NSString を見つける方法はありますか?
57912 次
5 に答える
64
私はあなたが探していると信じています:
info symbol <addresss>
アドレス addr に格納されているシンボルの名前を出力します。addr に正確に保存されているシンボルがない場合、GDB は最も近いシンボルとそこからのオフセットを出力します。
例:
(gdb) info symbol 0x400225
_start + 5 in section .text of /tmp/a.out
(gdb) info symbol 0x2aaaac2811cf
__read_nocancel + 6 in section .text of /usr/lib64/libc.so.6
詳細については、こちらをご覧ください。
于 2009-04-18T00:33:10.357 に答える
16
gdb> リスト *0xAABBCCDD
これにより、ファイル名と行番号がわかります。
于 2012-11-29T17:01:20.180 に答える
6
それがスタック変数である場合、それを行うことを認識している方法はありません。それ以外の場合はp/a <pointer symbol or address>
、シンボル名 (または最も近いシンボル名へのオフセット) を出力してみてください。
于 2009-04-18T00:34:11.837 に答える
3
ポ 0x46767f0
-description
オブジェクトにメッセージを送信します。これにより NSString の内容が出力されますが、ランダムなメッセージをランダムなアドレスに送信する前に、Brian の回答を使用してアドレスの内容を確認することをお勧めします。
于 2009-04-18T06:05:17.237 に答える