Dan*_*iel 24 c++ unix macos gprof
我正在尝试在运行OSX 10.5.7的计算机上使用gprof配置C++应用程序.我以通常的方式使用g ++编译,但是使用-pg标志,运行应用程序并尝试使用gprof查看调用图.
不幸的是,我的调用图包含所有时间列的全零."被调用"列中的值具有合理的值,因此看起来有些内容被分析但我对其他数据的缺乏感到困惑.
我的所有源文件都以类似的方式编译:
g++ -pg -O2 -DNDEBUG -I./ -ansi -c -o ScenarioLoader.o ScenarioLoader.cpp
Run Code Online (Sandbox Code Playgroud)
然后我运行'ar'将所有目标文件捆绑到一个库中.后来,我链接并运行gprof如下:
g++ -pg -lm -o vrpalone vrpalone.o ../src/atomicprof.a lastbuild.o
./vrpalone
gprof gmon.out | less
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
小智 5
你的程序运行速度有多快?如果速度非常快,则可能太快而无法进行实际分析。我在使用一个非常简单的文本处理程序时遇到了这个问题:当我使用低于 1kb 的测试文件运行它时,它报告时间列中全为 0。我通过运行《了不起的盖茨比》的全文来解决这个问题。尝试更大的数据集或循环主要计算数百次。
我想我可能会分享我最近遇到的Apple邮件列表讨论.
这里描述的行为正是我所经历的.看起来gprof已经在OSX上被打破了很长一段时间.
我已经使用了由Dave Rigby帮助建议的Shark.
谢谢!
归档时间: |
|
查看次数: |
20234 次 |
最近记录: |