c++ - 当可执行文件派生另一个可执行文件时,不会创建 gmon.out

标签 c++ linux g++ gprof

我正在使用 gprof 进行分析。但是,当我在使用选项 -pg 编译的主可执行文件中派生另一个可执行文件时,不会创建 gmon.out。知道如何解决它。

最佳答案

But gmon.out is not created when I fork another executable

应该是吧。它与所有其他 gmon.out 文件具有相同的名称。它们只是默默地相互覆盖。

GNU 以其无限的智慧,建议您要分析的每个子进程都在其自己的当前目录中执行。根据需要在代码中使用 mkdirchdir。由于 gmon.out 是在进程结束时写出的,因此在调用 exit 之前只需要 chdir

我还建议查看 valgrind。除了其他优点之外,它的输出文件名为 something.somethingelse.$PID

关于c++ - 当可执行文件派生另一个可执行文件时,不会创建 gmon.out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17854876/

相关文章:

linux - SO_REUSEPORT 套接字服务器

c++ - 禁用 "temporary to non-const reference"错误的 G++ 标志

c++ - C++ 函数参数中的求值顺序

c++ - 语法解释

php - 旧浏览器中带有https的错误网站

python - 远程运行 TensorFlow

c++ - 编译器不警告精度损失?

c++ - 在 CentOS 7 上通过 devtoolset-4 安装的 Eclipse CDT 使用了错误版本的 gcc/g++

c++ - openframeworks - 如何淡入淡出视频

c++ - 从值数组创建直方图/绘图