llvm-locstats - DWARF デバッグの場所に関する統計を計算

SYNOPSIS

llvm-locstats [オプション] [filename]

説明

llvm-locstatsllvm-dwarfdumpのラッパーのように機能します。デバッグの場所に関する llvm-dwarfdump 統計を解析して、より人間が読める方法で整形して表示します。

行0%は、場所情報を持たないDIEの数とパーセンテージを示し、行100%はすべてのコードセクションバイトに場所情報があるDIEに関する情報を示します(ここで変数またはパラメータがスコープ内にある)。行[50%、60%)は、場所情報がそのスコープのカバレッジの50〜60%の間にあるDIEの数とパーセンテージを示します。

オプション

--only-variables

ローカル変数のみの場所の統計を計算

--only-formal-parameters

仮パラメータのみの場所の統計を計算

--ignore-debug-entry-values

デバッグエントリ値DWARF操作を含む場所の場所統計を無視

--draw-plot

生成された場所バケットのヒストグラムを作成(matplotlibが必要)

--compare

提供された2つのファイルのデバッグ場所のカバレッジを比較し、差分を示すプロットを描画(matplotlibが必要)

終了ステータス

llvm-locstatsは、入力ファイルが正常に解析された場合は0を返します。それ以外の場合は1を返します。

例1

標準出力に場所カバレッジを整形して表示します。

llvm-locstats a.out

  =================================================
            Debug Location Statistics
  =================================================
        cov%          samples       percentage(~)
  -------------------------------------------------
     0%                    1              16%
     (0%,10%)              0               0%
     [10%,20%)             0               0%
     [20%,30%)             0               0%
     [30%,40%)             0               0%
     [40%,50%)             0               0%
     [50%,60%)             1              16%
     [60%,70%)             0               0%
     [70%,80%)             0               0%
     [80%,90%)             1              16%
     [90%,100%)            0               0%
     100%                  3              50%
  =================================================
  -the number of debug variables processed: 6
  -PC ranges covered: 81%
  -------------------------------------------------
  -total availability: 83%
  =================================================

例2

イメージファイルとしてプロットを生成します。

llvm-locstats --draw-plot file1.out
../_images/locstats-draw-plot.png

例3

デバッグ場所のカバレッジの差分を示すイメージファイルとしてプロットを生成します。

llvm-locstats --compare file1.out file1.withentryvals.out
../_images/locstats-compare.png

関連項目

llvm-dwarfdump(1)