![](/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.