我正在使用 gprof 进行分析。但是当我在使用选项 -pg 编译的主可执行文件中派生另一个可执行文件时,不会创建 gmon.out。任何想法如何解决它。
问问题
1793 次
2 回答
4
但是当我派生另一个可执行文件时,没有创建 gmon.out
它可能会。gmon.out
它只是与所有其他文件具有相同的名称。他们只是默默地互相覆盖。
GNU 以其无限的智慧,建议您要分析的每个子进程都在其自己的当前目录中执行。根据需要在您的代码中使用mkdir
和。chdir
由于gmon.out
在进程完成时写出,因此只需要chdir
在调用exit
.
我也推荐看看valgrind
。除其他优点外,它的输出文件名为something.somethingelse.$PID
.
于 2013-07-25T10:44:26.880 回答
3
当您设置GMON_OUT_PREFIX=some_file_name
环境变量时,gprof 将为每个名称为 的子进程创建额外的 gmon 文件some_file_name.pid
。
于 2017-08-31T01:13:26.190 回答