我正在使用 gprof 进行分析。但是,当我在使用选项 -pg 编译的主可执行文件中派生另一个可执行文件时,不会创建 gmon.out。知道如何解决它。
最佳答案
But gmon.out is not created when I fork another executable
应该是吧。它与所有其他 gmon.out
文件具有相同的名称。它们只是默默地相互覆盖。
GNU 以其无限的智慧,建议您要分析的每个子进程都在其自己的当前目录中执行。根据需要在代码中使用 mkdir
和 chdir
。由于 gmon.out
是在进程结束时写出的,因此在调用 exit
之前只需要 chdir
。
我还建议查看 valgrind
。除了其他优点之外,它的输出文件名为 something.somethingelse.$PID
。
关于c++ - 当可执行文件派生另一个可执行文件时,不会创建 gmon.out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17854876/