llvm-locstats - DWARF デバッグの場所に関する統計を計算¶
SYNOPSIS¶
llvm-locstats [オプション] [filename]
説明¶
llvm-locstatsは llvm-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

例3¶
デバッグ場所のカバレッジの差分を示すイメージファイルとしてプロットを生成します。
llvm-locstats --compare file1.out file1.withentryvals.out
