微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按名称或签名计数函数调用 Gcc,C ++

我有一些C ++编写的软件包。 Linux,gcc。 我可以修改编译过程(更改Makefile,标志等),但不能更改C ++源代码

一个用不同的参数运行这个包,它执行一个工作并退出

如何计数

1)具有特定名称函数调用次数

2)具有特定签名的function的调用次数

3)其中一个参数是特定types的函数调用次数,例如std :: string(type是由签名指定的)?

4)和额外的STL对象函数调用次数,即std :: string拷贝构造函数

(我的意思是在运行期间统计一些呼叫。)

奇怪的错误,而使用valgrind? 一个错误也许?

在Kcachegrind中打开perf.data

gperftools cpu profiler不支持多进程?

我可以使用哪些工具来确定应用程序的硬件要求?

可以附加到正在运行的进程的c + +分析器?

我想用GDB来做,但是我觉得这很难做(1),根本没有find如何做(2) – (4)。

所有可以接受的答案我会写在这里为人类。

收集桌面应用程序的使用情况数据

为什么PMP(穷人的分析器)不能在Nginx上工作?

使用C ++在Linux中计算磁盘读/写

用xperf获取符号

多核和OProfile

你可以尝试在linux下运行DTRACE 。 这绝对是你正在努力完成的一个伟大的工具。

你检查过Valgrind的callgrind吗?

如果你不使用线程(或者愿意尝试一下), gprof在某些情况下是相当容易的。 但是,有一个线程的解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐