nm – ファイルに含まれるシンボルを一覧表示する

NM と聞いてすぐ思い浮かぶのがノートリアス・モンスターというゲーマー気質ですが、会社のデキル同僚が使っているのを見てほほーと思ったのでメモ。シンボルがないと利用できませんが、あれば、関数などもチェックできます。トラブルシューティングやデバッグ用途かな。

$ nm --help
使用法: nm [option(s)] [file(s)]
 [file(s)] に含まれるシンボルを一覧表示します (デフォルトは a.out)。
オプション:
  -a, --debug-syms       デバッグ用のみのシンボルを表示する
  -A, --print-file-name  各シンボルの前に入力ファイルの名前を表示する
  -B                     --format=bsd と同様
  -C, --demangle[=STYLE] 下位レベルのシンボル名を利用者レベルのシンボル名にデコードする
                          STYLE を指定する場合は `auto' (デフォルト),
                          `gnu', `lucid', `arm', `hp', `edg', `gnu-v3', `java'
                          または `gnat'
      --no-demangle      下位レベルのシンボルを名前復元 (demangle) しない
  -D, --dynamic          通常シンボルの代わりに動的シンボルを表示する
      --defined-only     定義済みのシンボルのみ表示する
  -e                     (無視される)
  -f, --format=FORMAT    出力形式を FORMAT にする。FORMAT は `bsd',
                           `sysv' または `posix'。  デフォルトは `bsd'
  -g, --extern-only      外部シンボルのみ表示する
  -l, --line-numbers     各シンボルに対してファイル名と行番号を探すために
                           デバッグ情報を使用する
  -n, --numeric-sort     シンボルをアドレスで数値的にソートする
  -o                     -A と同様
  -p, --no-sort          シンボルをソートしない
  -P, --portability      --format=posix と同様
  -r, --reverse-sort     ソートの順番を逆にする
      --plugin NAME      指定したプラグインを読み込む
  -S, --print-size       定義されたシンボルのサイズを表示する
  -s, --print-armap      書庫メンバからのシンボルの索引を含める
      --size-sort        シンボルをサイズでソートする
      --special-syms     出力に特殊なシンボルを含める
      --synthetic        合成したシンボルも表示する
  -t, --radix=RADIX      シンボルの値を表示する際に基数 RADIX を使用する
      --target=BFDNAME   ターゲットオブジェクト形式を BFDNAME として指定する
  -u, --undefined-only   未定義シンボルのみ表示する
  -X 32_64               (無視される)
  @FILE                  オプションを FILE から読み込む
  -h, --help             この情報を表示する
  -V, --version          プログラムのバージョン番号を表示する
 
nm: サポートされているターゲット: elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex
バグを発見したら <> に報告して下さい。
翻訳に関するバグはに報告してください。

確認環境

$ cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

スポンサーリンク

シェアする

フォローする

スポンサーリンク