系统相关
首页 > 系统相关> > 在不修改源的情况下查找在多进程程序中调用哪些函数?

在不修改源的情况下查找在多进程程序中调用哪些函数?

作者:互联网

我正在开发一个项目,我需要在给定特定输入的各种Linux程序(用C语言编写)中查找哪些函数.我目前的方法是使用-pg(分析选项)编译程序,运行它,并通过处理gprof的输出来查找调用哪些函数.只有至少调用过一次的函数才会出现在输出文件中.

显而易见的问题是只有一个进程可以写入gprof输出文件.如果程序分叉多个进程,我不会从其他进程获得任何分析输出.

有没有办法让gprof为每个进程生成一个输出文件(可能用pid标记)?手册建议将每个进程更改为不同的目录,但我不想修改源代码来执行此操作.还有其他适用于Linux的工具可以提供帮助吗?

解决方法:

看看GCov:http://gcc.gnu.org/onlinedocs/gcc/Gcov.html

标签:c-3,linux,profiling,code-coverage,gprof
来源: https://codeday.me/bug/20190622/1260473.html