7

アプリをプロファイリングする私の標準的な Linux の方法は次のとおりです。

1) compile with g++ -pg
2) run prog
3) gprof

どうやら MacOSX 10.5 では gprof が壊れているようで、Shark を使用することになっています。私が Shark で見つけたすべてのチュートリアルには XCode が含まれています (私のビルドは Makefiels と g++ で行われています)。

g++ で構築されたアプリでサメを使用するためのステップバイステップの手順を投稿できますか? 次のように言います。

int main() { while(1); }

g++ blah.cpp -o blah; do I need to give it more command line arguments?

how do I use shark here?
4

1 に答える 1

3

gprofなどのインストルメント化されたプロファイリングは、コールグラフと関数が呼び出される回数について本当に知りたい場合を除いて、特に有用ではありません。パフォーマンス分析にはるかに役立つのはサンプリングプロファイラーであり、このAppleのSharkツール(CHUDの一部)は最高のツールの1つです。

Sharkでプロファイリングするためのアプリを構築するためにXcodeを使用する必要はありません-私は常にSharkでプロファイリングするMakefilesで構築されたコマンドラインツールを持っています。コード内からSharkを自動的にトリガーするか(これにはいくつかの異なるAPIがあります)、「chudRemoteCtrl」コマンドラインツール(man chudRemoteCtrl)を使用するか、Sharkで起動オプションを構成して実行可能パスを設定することができます。作業ディレクトリ、コマンドライン引数など、そして離れて行きます。-gSharkが逆アセンブルされたオブジェクトコードではなくソースコードを表示できるように、アプリをビルドしてください。

コマンドラインツールのShark構成http://www.freeimagehosting.net/uploads/386737a1fa.jpg

于 2010-02-16T13:14:01.470 に答える