実行可能ファイルからのデフォルトのプロファイル ファイルが実行され、ファイルの名前はgmon.out. 新しい場所を指定する方法はありますか?
i386/linux2.6でgcc 3.4.6を使用しています
残念なことに、環境変数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 と仮定します。
先週同じ問題が発生し、次のように解決しました。ここでのアイデアは、プロセスの現在のディレクトリを、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