Oracle Solaris Studio 12.2: dbx コマンドによるデバッグ

pathmap コマンド

pathmap コマンドは、ソースファイルなどを検索するために、1 つのパス名を別のパス名にマップします。マッピングは、ソースパス、オブジェクトファイルパス、および現在の作業ディレクトリに適用されます (-c を指定した場合)。pathmap コマンドの構文および機能は、ネイティブモードと Java モードで同一です。

pathmap コマンドは、さまざまなホスト上に存在するさまざまなパスを持つ、オートマウントされた明示的な NFS マウント済みファイルシステムを取り扱うときに便利です。オートマウントされたファイルシステムにおける CWD も不正確であるため、オートマウンタが原因である問題を解決する際には、-c を指定します。pathmap コマンドは、ソースツリーやビルドツリーを移動した場合にも便利です。

デフォルトの場合、pathmap /tmp_mnt / が存在します。

pathmap コマンドは、dbx 環境変数 core_lo_pathmap が on に設定されているときにロードオブジェクトを検索します。前述の場合以外では、pathmap コマンドはロードオブジェクト (共有ライブラリ) の検索に対して効果がありません。「一致しないコアファイルのデバッグ」を参照してください。

構文

pathmap [-c] [-index] from to

from から to への新たなマッピングを作成します。

pathmap [-c] [-index] to

すべてのパスを to にマッピングします。

pathmap

既存のパスマッピングすべてを一覧表示します (インデックス別に)。

pathmap -s

前述と同じですが、出力を dbx によって読み込むことができます。

pathmap -d from1 from2 ...

任意のマッピングをパスごとに削除します。

pathmap -d index1 index2 ...

任意のマッピングをインデックスごとに削除します。

ここで

fromto は、ファイルパス接頭辞です。from は実行可能ファイルやオブジェクトファイルにコンパイルされたファイルパス、to はデバッグ時におけるファイルパスを示します。

from1 は、最初に削除するマッピングのファイルパスです。

from2 は、最後に削除するマッピングのファイルパスです。

index は、マッピングをリストに挿入する際に使用するインデックスを指定します。インデックスを指定しなかった場合、リスト末尾にマッピングが追加されます。

index1 は、最初に削除するマッピングのインデックスです。

index2 は、最後に削除するマッピングのインデックスです。

-c を指定すると、現在の作業用ディレクトリにもマッピングが適用されます。

-s を指定すると、dbx が読み込める出力形式で既存のマッピングがリストされます。

-d を指定すると、指定のマッピングが削除されます。

(dbx) pathmap /export/home/work1 /net/mmm/export/home/work2
  # maps /export/home/work1/abc/test.c to /net/mmm/export/home/work2/abc/test.c
(dbx) pathmap /export/home/newproject
  # maps /export/home/work1/abc/test.c to /export/home/newproject/test.c
(dbx) pathmap
(1) -c /tmp_mnt /
(2) /export/home/work1 /net/mmm/export/home/work2
(3) /export/home/newproject