共有ライブラリ上に存在する、あるstatic変数aのプロセス上でのアドレスを知りたいときがあります。apt-getでインストールした共有ライブラリをデバッグしたい時なんかがそうです。 最近、こういったアドレスを探すことが多いので、忘れないようにメモっておきます。 以下の話は、共有ライブラリが位置独立コード(PIC)としてコンパイルされていることを前提にしています。 あと、私はgccとx86系cpuを使って確認しているので、他の環境だと違う場合があります。 基本 共有ライブラリを使っているプロセスのメモリ利用状況をpmapコマンドやprocファイルシステムを使って確認することで、共有ライブラリのロード先がわかります。 共有ライブラリ名がhoge.soだとすると、 $ pmap 10000 08048000 4K r-x-- a.out ...<略>... b7f8e000 8K rwx--