应用程序不计算事物,但执行 I/O、读取文件、使用网络。我想要分析器来显示它。
我期望像 callgrind 中那样的东西,每个问题都会调用clock_gettime。
或者像oprofile那样中断我的应用程序(当它正在睡眠或等待套接字/文件/其他内容时)看看它在做什么。
我想要“读取”、“连接”、“nanosleep”、“发送”,尤其是“fsync”(以及他们所有的来电者)加粗(不是执行计算的字符串或数字函数之类的东西)。
平台:GNU/Linux @ i386
快速破解了 Linux 的简单采样分析器:http://vi-server.org/vi/simple_sampling_profiler.html
它附加backtrace(3)
到一个文件SIGUSR1
,然后将其转换为带注释的源。
当它定期探测程序时,我们会看到等待某些东西的函数。
当它遍历堆栈时,我们也会看到调用者。
回答类似问题的人也推荐 Zoom。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)