15

実行可能ファイルからのデフォルトのプロファイル ファイルが実行され、ファイルの名前はgmon.out. 新しい場所を指定する方法はありますか?

i386/linux2.6でgcc 3.4.6を使用しています

4

4 に答える 4

16

残念なことに、環境変数GMON_OUT_PREFIXは glibc に記載されていません。Web から次の情報を取得し、自分のマシンでテストしました。

環境変数 を設定するとGMON_OUT_PREFIX、出力ファイルの名前は ${GMON_OUT_PREFIX}.[PID]になり、pid はプロファイルされたプロセスの ID になります。

例えば:

GMON_OUT_PREFIX=mygmon; gcc -o foo -pg foo.c

gmon 出力ファイルは次のとおりです。foomygmon.12345プロセス ID=12345 と仮定します。

于 2009-01-21T10:30:35.710 に答える
7

jscootソリューションは私にとってはうまくいきましたが、コンパイル時ではなく実行GMON_OUT_PREFIX時の設定という重要な違いがあります。

于 2011-01-25T11:15:25.527 に答える
3

先週同じ問題が発生し、次のように解決しました。ここでのアイデアは、プロセスの現在のディレクトリを、gmon.outファイルを生成する場所に変更することです。この方法でファイル名を変更することはできません。ファイルを保存できる場所を変更できます。

#ifdef GPROF
                       /* so we can gprof */
                       if (1) {
                           char tmpdir[32];
                           snprintf(tmpdir, 32, "/tmp/%05d", mypid);
                           mkdir(tmpdir, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
                           chdir(tmpdir);
                       }
#endif
于 2011-03-17T19:50:58.813 に答える