英語フランス語スペイン語

Ad


OnWorksファビコン

mips64el-linux-gnuabi64-gprof-クラウドでのオンライン

Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、またはMACOSオンラインエミュレーターを介してOnWorks無料ホスティングプロバイダーでmips64el-linux-gnuabi64-gprofを実行します

これはコマンドmips64el-linux-gnuabi64-gprofであり、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できます。

プログラム:

NAME


gprof-コールグラフプロファイルデータを表示します

SYNOPSIS


gprof [-[abcDhilLrsTvwxyz]] [-[ACeEfFJnNOpPqQZ] []]
[ -私 Dirs ] [ -NS[NUM]] [-k からの ]
[ -NS 最小カウント ] [ -NS マップファイル ] [ -NS テーブルの長さ ]
[-[no-]注釈付きソース[=]]
[-[no-] exec-counts [=]]
[-[no-] flat-profile [=]] [-[no-] graph [=]]
[-[no-] time =] [--all-lines] [--brief]
[--debug [=レベル]] [--function-ordering]
[--file-ordering マップファイル ] [--directory-path =Dirs ]
[--display-unused-functions] [--file-format = ]
[--file-info] [--help] [--line] [--inline-file-names]
[--min-count =n ] [--no-static] [--print-path]
[--separate-files] [--static-call-graph] [--sum]
[--table-length =LEN ] [--traditional] [--version]
[--width =n ] [--ignore-non-functions]
[--demangle [=スタイル]] [--no-demangle]
[--external-symbol-table = name]
[ 画像ファイル ] [ プロファイルファイル ...]

DESCRIPTION


「gprof」は、C、Pascal、またはFortran77プログラムの実行プロファイルを生成します。 の効果
呼び出されたルーチンは、各呼び出し元のプロファイルに組み込まれています。 プロファイルデータが取得されます
コールグラフプロファイルファイルから(gmon.out デフォルト)これは、
でコンパイル -pg 「cc」、「pc」、「f77」のオプション。 NS -pg オプションもリンクしています
プロファイリング用にコンパイルされたライブラリルーチンのバージョン。 「Gprof」は与えられたものを読みます
オブジェクトファイル(デフォルトは「a.out」)であり、そのシンボルテーブル間の関係を確立します
およびからのコールグラフプロファイル gmon.out。 複数のプロファイルファイルが指定されている場合、
「gprof」出力には、指定されたプロファイルファイル内のプロファイル情報の合計が表示されます。

gcc 2.95.xまたは3.0を使用してバイナリをコンパイルする場合は、
-fprofile-arcs コールグラフを適切に表示するために、コンパイルコマンドラインに移動します
gmon.outに保存されます。

「Gprof」は、各ルーチンで費やされた時間を計算します。 次に、これらの時間は
コールグラフのエッジに沿って伝播されます。 サイクルが発見され、
サイクルは、サイクルの時間を共有するように作成されます。

分析からいくつかの形式の出力を利用できます。

  フラットな プロフィール プログラムが各関数に費やした時間とその数を示します
その関数が呼び出された回数。 どの関数がほとんどを燃焼するかを単に知りたい場合
サイクル、それはここに簡潔に述べられています。

  コール グラフ 各関数について、どの関数がそれを呼び出したか、他のどの関数がそれを呼び出したかを示します
それが呼ばれ、何回。 に費やされた時間の見積もりもあります
各関数のサブルーチン。 これはあなたがしようとするかもしれない場所を示唆することができます
時間がかかる関数呼び出しを排除します。

  注釈付き source リストは、プログラムのソースコードのコピーであり、
プログラムの各行が実行された回数。

OPTIONS


これらのオプションは、「gprof」が生成する出力形式を指定します。

これらのオプションの多くはオプションを取ります シンスペック 含める関数を指定する、または
除外。 これらのオプションは、異なるsymspecsを使用して、次のように複数回指定できます。
シンボルのセットを含めるか除外します。

これらのオプションのいずれかを指定すると、デフォルト(-p -q)、フラットプロファイルを印刷します
すべての関数のグラフ分析を呼び出します。

"-NS[symspec]」
"--annotated-source [=symspec]」
  -A オプションを指定すると、「gprof」は注釈付きのソースコードを出力します。 もしも シンスペック 指定されている、
一致するシンボルに対してのみ出力を出力します。

"-NS"
" - 簡単に"
Status -b オプションが指定されている場合、「gprof」は、
表のすべてのフィールドの意味を説明します。 これは、意図している場合に便利です
出力を印刷するため、または宣伝文句を見るのにうんざりしている。

"-NS[symspec]」
"--exec-counts [=symspec]」
  -C オプションを指定すると、「gprof」は関数の集計と回数を出力します
それぞれが呼び出されました。 もしも シンスペック が指定されている場合は、一致するシンボルに対してのみ集計を出力します。

プロファイルデータファイルに基本ブロックカウントレコードが含まれている場合は、 -l オプション、
と一緒に -C、基本ブロックの実行カウントが集計されて表示されます。

"-私"
"--file-info"
  -i オプションを指定すると、「gprof」にプロファイルデータに関する要約情報が表示されます。
ファイルを作成して終了します。 ヒストグラムの数、コールグラフ、および基本ブロック数
レコードが表示されます。

"-私 dirs」
"--directory-path =dirs」
  -I オプションは、ソースファイルを検索する検索ディレクトリのリストを指定します。
環境変数 GPROF_パス この情報を伝えるためにも使用できます。 中古
主に注釈付きのソース出力用です。

"-NS[symspec]」
"--no-annotated-source [=symspec]」
  -J オプションを指定すると、「gprof」は注釈付きのソースコードを出力しません。 もしも シンスペック is
指定すると、「gprof」は注釈付きのソースを出力しますが、一致する記号は除外します。

「-L」
"--print-path"
通常、ソースファイル名はパスコンポーネントが抑制された状態で印刷されます。 NS -L
オプションを指定すると、「gprof」はソースファイル名のフルパス名を出力します。
イメージファイル内のシンボリックデバッグ情報から決定され、
コンパイラーが呼び出されたディレクトリー。

"-NS[symspec]」
"--flat-profile [=symspec]」
  -p オプションを指定すると、「gprof」はフラットプロファイルを印刷します。 もしも シンスペック 指定、印刷
一致するシンボルのみのフラットプロファイル。

"-NS[symspec]」
"--no-flat-profile [=symspec]」
  -P オプションを指定すると、「gprof」はフラットプロファイルの印刷を抑制します。 もしも シンスペック is
指定すると、「gprof」はフラットプロファイルを出力しますが、一致するシンボルは除外します。

"-NS[symspec]」
"--graph [=symspec]」
  -q オプションを指定すると、「gprof」はコールグラフ分析を出力します。 もしも シンスペック is
指定された場合、一致するシンボルとその子に対してのみコールグラフを印刷します。

"-NS[symspec]」
"--no-graph [=symspec]」
  -Q オプションを指定すると、「gprof」はコールグラフの印刷を抑制します。 もしも シンスペック is
指定すると、「gprof」はコールグラフを出力しますが、一致する記号は除外します。

"-NS"
"--table-length =num」
  -t オプションは NUM リストされる各ソースファイルで最もアクティブなソース行
ソース注釈が有効になっている場合。 デフォルトは10です。

「-y」
"--separate-files"
このオプションは、注釈付きのソース出力にのみ影響します。 通常、「gprof」は注釈付きで印刷します
ソースファイルを標準出力に。 このオプションが指定されている場合、
名前の付いたファイル パス/ファイル名 ファイルに生成されます ファイル名-ann。 基礎となる場合
ファイルシステムは切り捨てられます ファイル名-ann オリジナルを上書きするように ファイル名,
「gprof」は、ファイルに注釈付きのソースを生成します ファイル名.ann 代わりに(オリジナルの場合
ファイル名には拡張子があり、その拡張子は 置き換え   .ann).

"-Z [symspec]」
"--no-exec-counts [=symspec]」
  -Z オプションを使用すると、「gprof」は関数の集計と回数を出力しません。
それぞれが呼び出されました。 もしも シンスペック が指定されている場合は、集計を出力しますが、一致する記号は除外します。

"-NS"
「-関数の順序付け」
  -関数の順序 オプションを指定すると、「gprof」は提案された関数の順序を出力します
プロファイリングデータに基づくプログラムの場合。 このオプションは、次のような順序を提案します
サポートするシステムでのプログラムのページング、tlb、およびキャッシュの動作を改善する
実行可能ファイル内の関数の任意の順序。

リンカに関数を特定の順序で配置させる方法の正確な詳細
システムに依存し、このマニュアルの範囲外です。

"-NS map_file "
"-ファイルの順序付け map_file "
  -ファイルの順序 オプションを指定すると、「gprof」は提案された.oリンク行の順序を出力します
プロファイリングデータに基づくプログラムの場合。 このオプションは、次のような順序を提案します
サポートされていないシステムでのプログラムのページング、tlb、およびキャッシュの動作を改善する
実行可能ファイル内の関数の任意の順序。

の使用 -a このオプションでは、引数を強くお勧めします。

  マップファイル 引数は、オブジェクトに関数名を提供するファイルへのパス名です。
ファイルマッピング。 ファイルの形式は、プログラム「nm」の出力に似ています。

c-parse.o:00000000 T yyparse
c-parse.o:00000004 C yyerrflag
c-lang.o:00000000 Tmaybe_objc_method_name
c-lang.o:00000000 T print_lang_statistics
c-lang.o:00000000 Trecognize_objc_keyword
c-decl.o:00000000 T print_lang_identifier
c-decl.o:00000000 T print_lang_type
...

作成するには マップファイル GNU "nm"を使用して、 "nm--extern-onlyのようなコマンドを入力します
--defined-only -v --print-file-nameprogram-name "。

"-NS"
" - 伝統的"
  -T オプションを指定すると、「gprof」はその出力を「従来の」BSDスタイルで出力します。

"-w 幅"
"--width =幅"
出力行の幅をに設定します 。 現在、関数を印刷するときにのみ使用されます
コールグラフの下部にあるインデックス。

"-NS"
「-全行」
このオプションは、注釈付きのソース出力にのみ影響します。 デフォルトでは、
基本ブロックの始まりに注釈が付けられます。 このオプションを指定すると、のすべての行が
基本ブロックには、最初の行の注釈を繰り返すことによって注釈が付けられます。 この
動作は「tcov」の動作に似ています -a.

"--demangle [=スタイル]"
「-デマングルなし」
これらのオプションは、印刷時にC ++シンボル名をデマングルするかどうかを制御します
出力。 デフォルトでは、シンボルをデマングルします。 「--no-demangle」オプションを使用できます
デアングルをオフにします。 コンパイラが異なれば、マングリングスタイルも異なります。 NS
オプションのデマングリングスタイル引数を使用して、適切なデマングリングを選択できます
コンパイラのスタイル。

分析 オプション
"-NS"
「-静的なし」
  -a オプションを指定すると、「gprof」は静的に宣言された(プライベート)の印刷を抑制します
関数。 (これらは、名前がグローバルとしてリストされていない関数であり、
それらが定義されたファイル/関数/ブロックの外側には表示されません。)
これらの関数、それらへの/からの呼び出しなどはすべて、次の関数に起因します。
実行可能ファイルでその直前にロードされました。 このオプションは両方に影響します
フラットプロファイルとコールグラフ。

"-NS"
"--static-call-graph"
  -c オプションを使用すると、プログラムのコールグラフがヒューリスティックによって拡張されます。
これは、オブジェクトファイルのテキストスペースを調べて、関数呼び出しを識別します。
バイナリマシンコード。 通常のコールグラフレコードは次の場合にのみ生成されるため
関数が入力されると、このオプションは呼び出された可能性のある子を識別します。
しかし、決してそうではありませんでした。 プロファイリングを有効にしてコンパイルされていない関数の呼び出しは次のとおりです。
また、識別されますが、シンボルテーブルエントリが存在する場合に限ります。 への呼び出し
動的ライブラリルーチンは通常、 このオプションで見つかりました。 親または子供
このヒューリスティックを介して識別されたものは、コールグラフに次のコールカウントで示されます。 0.

"-NS"
「--ignore-non-functions」
  -D オプションを指定すると、「gprof」は関数であることがわかっていないシンボルを無視します。
このオプションは、サポートされているシステムでより正確なプロファイルデータを提供します
(SolarisやHPUXなど)。

"-k からの"
  -k オプションを使用すると、一致するシンボルからアークをコールグラフから削除できます
シンスペック から 一致するsymspecに 〜へ.

「-l」
" - ライン"
  -l オプションを使用すると、行ごとのプロファイリングが有効になり、ヒストグラムのヒットが次のようになります。
関数ではなく、個々のソースコード行に課金されます。 この機能のみ
「gcc」コンパイラの古いバージョンでコンパイルされたプログラムで動作します。 新しいバージョン
「gcc」のは、代わりに「gcov」ツールで動作するように設計されています。

プログラムが基本ブロックカウントを有効にしてコンパイルされた場合、このオプションも
コードの各行が実行された回数を識別します。 行ごとのプロファイリング中
大規模な機能のどこでプログラムが時間を費やしているかを特定するのに役立ちます。
「gprof」の実行時間が大幅に増加し、統計が拡大されます
不正確さ。

"--inline-file-names"
このオプションにより、「gprof」は両方のフラットの各シンボルの後にソースファイルを出力します。
プロファイルとコールグラフ。 ファイルへのフルパスは、 -L
オプションを選択します。

"-NS num」
"--min-count =num」
このオプションは、実行カウントの出力にのみ影響します。 実行されるシンボルが
NUM 時間は抑制されます。

"-NSsymspec」
"--time =symspec」
  -n オプションを使用すると、コールグラフ分析で「gprof」は次の時間のみを伝播します。
一致する記号 シンスペック.

"-NSsymspec」
"--no-time =symspec」
  -n オプションを使用すると、コールグラフ分析で「gprof」が次の時間を伝播しなくなります。
一致する記号 シンスペック.

"-NSファイル名"
"--external-symbol-table =ファイル名"
  -S オプションを指定すると、「gprof」は次のような外部シンボルテーブルファイルを読み取ります。
/ proc / kallsyms、指定されたオブジェクトファイルからシンボルテーブルを読み取るのではなく(
デフォルトは「a.out」です)。 これは、カーネルモジュールのプロファイリングに役立ちます。

「-z」
"--display-unused-functions"
あなたが与える場合 -z オプション、「gprof」はフラットプロファイルのすべての機能に言及します、
一度も呼ばれたことがなく、彼らに時間を費やしたことのない人々でさえ。 これは便利です
と一緒に -c どのルーチンが呼び出されなかったかを検出するためのオプション。

その他 オプション
"-NS[num]」
"--debug [=num]」
  -d NUM optionは、デバッグオプションを指定します。 もしも NUM 指定されていない場合は、すべて有効にします
デバッグ。

"-NS"
" - ヘルプ"
  -h オプションは、コマンドラインの使用法を出力します。

"-O名前"
"--file-format =名前"
プロファイルデータファイルの形式を選択します。 認識される形式は オート
デフォルト)、 bsd, 4.4BSD, マジック, 教授 (まだサポートされていません)。

"-NS"
" - 和"
  -s オプションを指定すると、「gprof」はプロファイルデータファイル内の情報を要約します。
と呼ばれるプロファイルデータファイルを読み込み、書き込みます gmon.sum、すべてが含まれています
「gprof」が読み込んだプロファイルデータファイルからの情報。ファイル gmon.sum かもしれません
指定された入力ファイルのXNUMXつであること。 これの効果は、データをマージすることです
他の入力ファイルに gmon.sum.

最終的には、「gprof」を実行せずに再度実行できます。 -s の累積データを分析するには
file gmon.sum.

「-v」
" - バージョン"
  -v フラグを設定すると、「gprof」は現在のバージョン番号を出力して終了します。

非推奨の オプション
これらのオプションは、symspecsを使用する新しいバージョンに置き換えられました。

"-e function_name "
  -e function オプションは、関数に関する情報を出力しないように「gprof」に指示します
関数名 (およびその子...)コールグラフ。 機能は引き続き
それを呼び出す関数の子としてリストされますが、そのインデックス番号は次のように表示されます。
[いいえ 印刷]。 複数の -e オプションが与えられるかもしれません; 唯一 関数名 多分
それぞれで示されます -e オプションを選択します。

"-E function_name "
「-E 関数" オプションは「-e」オプションと同じように機能しますが、関数に費やされた時間
(および他の場所から呼び出されなかった子)は、計算に使用されません
コールグラフの時間のパーセンテージ。 複数の -E オプションが与えられるかもしれません; それだけ
XNUMXつ 関数名 それぞれで示される場合があります -E オプションを選択します。

"-NS function_name "
  -f function オプションを指定すると、「gprof」はコールグラフを関数に制限します
関数名 とその子供たち(そして彼らの子供たち...)。 複数の -f オプションはかもしれません
与えられる; 唯一 関数名 それぞれで示される場合があります -f オプションを選択します。

"-NS function_name "
  -F function オプションは「-f」オプションと同じように機能しますが、関数で費やされた時間のみです
とその子(およびその子...)は、合計時間と
コールグラフの時間のパーセンテージ。 複数の -F オプションが与えられるかもしれません; それだけ
XNUMXつ 関数名 それぞれで示される場合があります -F オプション。 ザ· -F オプションは
-E オプションを選択します。

onworks.netサービスを使用してオンラインでmips64el-linux-gnuabi64-gprofを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad