![](/img/trans.png)
[英]How to display local (non-external) symbols in a C-program using `nm` on macOS?
[英]How to Profile a C-Program in a Loop of Shell Script, Using Shark on Mac?
我有一个关于在Mac上进行Shark分析的问题。
假设我有一个C程序,编译为:
gcc -o mycprog mycprog.c -g -pg
而且我还有一个shell脚本,例如:
for file in ($SomeDirectory)
do
mycprog $file
done
我需要分析$ SomeDirectory中所有文件的平均性能。
我应该在哪里放置shark -i
命令? 谢谢。
出于各种原因,这不是一个好方法-理想情况下,您应该修改程序的外循环,以便它可以在命令行上处理所有文件,然后您可以一次运行所有操作:
$ shark -i
$ mycprog $SomeDirectory/*
如果无法执行此操作,则需要设置Shark配置以进行系统范围的分析,并在bash循环之前开始分析,然后再停止分析。 当您随后在Shark中查看配置文件时,将能够过滤掉您不感兴趣的流程。
首先打开Shark(GUI应用程序),设置配置并启用远程控制( Sampling
=> Programmatic
)。 确保已选择“ Time Profile
和“ Everything
。
然后从命令行:
$ chudRemoteCtrl -s "mycprog"
$ sleep 1
$ for f in $SomeDirectory/*
$ do
$ mycprog $SomeDirectory/$f
$ done
$ chudRemoteCtrl -e
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.