高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technical Q&A QA1388
Symbol to Library in GDB

Q:GDB を使ってデバッグをしています。あるシンボルのアドレスが分かっている場合に、それを含んでいる共有ライブラリを探すにはどうしたらよいでしょうか。

A:Xcode 1.5 に同梱されている GDB(Apple バージョン gdb-330.1)から、アドレスを info sharedlibrary に渡すことによってこれを行うことができるようになりました。リスト 1 に、シンボル RunCurrentEventLoopInMode に対してこれを行う例を示します。

リスト 1: シンボルの共有ライブラリの検索

$ gdb
GNU gdb 5.3-20030128 (Apple version gdb-330.1) […]
0x900074c8 in mach_msg_trap ()
(gdb) p/a &RunCurrentEventLoopInMode
$1 = 0x927d5edc <RunCurrentEventLoopInMode>
(gdb) info sharedlibrary 0x927d5edc
  9 HIToolbox             F 0x927d0000        dyld Y Y  \
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/\
HIToolbox.framework/Versions/A/HIToolbox at 0x927d0000 (offset 0x0)

以前のバージョンの GDB では、info sharedlibrary を使ってすべての共有ライブラリについての情報をプリントし、そのリストから対象のアドレスを含んでいるライブラリを手動で探すことでこれと同じことができました。この新しい機能により、手動で検索を行う必要がなくなりました。

ドキュメントの改訂履歴

日付 メモ
2004-11-02 初版

掲載日: 2004-11-02