我已经配置并构建了gpreftools 。但是,我似乎找不到我的程序生成的配置文件来显示它。
我采取了以下行动:
添加
-lprofiler
链接器标志到我的.pro
,构建程序并在链接阶段正确添加标志。QMAKE_LFLAGS += -lprofiler
运行:
$ CPUPROFILE=/tmp/prof.out /path/to/executable
执行:
$ pprof --gv /path/to/MyExe /tmp/prof.out
然后我得到以下信息:
Failed to get profile: curl -s --max-time 90 'http:///pprof/profile?seconds=30' > /home/eslam/pprof/.tmp.MyExe.1509005857.: No such file or directory.
有人对此有决心吗?
最佳答案
检查您的程序是否确实链接到 libprofiler.so。某些操作系统(例如,据我所知某些版本的 ubuntu)如果实际上没有使用 .so 的符号,则实际上不会添加 .so 。例如。 ldd ./yourprogram 应列出 libprofiler.so。如果这种情况没有发生,那么您应该在链接器标志前面添加 -Wl,--no-as-needed 之类的内容。
关于profiling - gperftools - 配置文件未转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46949407/