簡體   English   中英

如何在Mac上使用Shark在Shell腳本循環中分析C程序?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM