dsi*_*cha 8 c performance profiler gdb d
我需要一个适用于Windows和Linux的良好的分析器(它们不必是相同的;对每个操作系统的单独建议都很好)可以附加到一个已经运行的进程,该进程没有以任何"特殊"方式编译并给出我什么功能的过程中花费了大量的时间,我有一些长期运行的科学代码,我想在那里的花费大部分时间在执行的各个阶段的快照,统计,并能够获得满意的结果,而不必须运行整个程序开始完成.
我正在使用的编译器(Digital Mars D)带有一个仪器分析器.这对我正在运营的工作来说太慢了.由于我只对识别主要瓶颈感兴趣,因此我想要快速且易于使用的东西,即使它只是大致准确.理想情况下,它还应该能够同时分析所有线程并给我一个汇总报告.
在Linux上,我一直在使用GDB作为穷人的采样分析器(暂停我的应用程序几次并查看它的功能).基本上,我正在寻找一个更自动化的版本.
最后一个要求:在Linux上,它必须易于安装而没有root权限,因为我将在我没有root权限的服务器上运行它.
编辑:虽然代码是用D编写的,D的编译模型等与C类似,但为C编写的工具应该可以正常工作.
caf*_*caf 19
如果你有一个相当新的内核,你可以使用perf
:
perf record -p <pid> -g
Run Code Online (Sandbox Code Playgroud)
...然后,perf report
一旦你收集了足够的样本.
归档时间: |
|
查看次数: |
6490 次 |
最近记录: |