我正在使用gprof进行分析。 但是当我在用选项-pg编译的主可执行文件中分出另一个可执行文件时,gmon.out不会被创build。 任何想法如何解决它。
但是当我fork另一个可执行文件时,gmon.out不会被创建
这可能是。 它只与所有其他gmon.out
文件具有相同的名称。 他们只是默默地覆盖对方。
GNU以其无穷的智慧,建议您想要配置的每个子进程都在其当前目录中执行。 根据需要在代码中使用mkdir
和chdir
。 由于gmon.out
在进程完成时被写出,所以在调用exit
之前只需要chdir
。
我也建议看valgrind
。 除了其他好东西外,它的输出文件名为something.somethingelse.$PID
。
当您设置GMON_OUT_PREFIX=some_file_name
环境变量时,gprof将为每个子进程创建名为some_file_name.pid
其他gmon文件。