1

ここで説明する手順を使用して、GOプログラムのプロファイルを作成しようとしています。

http://blog.golang.org/2011/06/profiling-go-programs.html

ただしpprof、出力に関数名ではなくアドレスが表示されます。

(pprof) top10
Total: 2113 samples
     298  14.1%  14.1%      298  14.1% 0000000000464d34
     179   8.5%  22.6%      179   8.5% 0000000000418e83
     157   7.4%  30.0%      157   7.4% 0000000000418e60
     112   5.3%  35.3%      112   5.3% 0000000000403293
     101   4.8%  40.1%      101   4.8% 0000000000464d4f
      83   3.9%  44.0%       83   3.9% 000000000040329c
      77   3.6%  47.7%       77   3.6% 0000000000418e7a
      62   2.9%  50.6%       62   2.9% 0000000000456a38
      37   1.8%  52.3%       37   1.8% 0000000000418e41
      37   1.8%  54.1%       37   1.8% 0000000000435f57

誰かがそれを経験し、修正を見つけましたか?

上記の手順の代わりに使用されるツールについての言及がここにあります。6profそれがまだ維持されているかどうか、そしてそれをどこで見つけるかを誰かが知っていますか?

Win764でgo1.0.2を使用しています。

ありがとう!

4

3 に答える 3

2

Windowsで動作するようにperlスクリプトを修正しました。

詳細はこちら:http ://exneehilo.blogspot.com.au/2012/07/profiling-go-with-pprof-under-windows.html

于 2012-07-28T15:48:43.723 に答える
0

自分でチェックしたことはありませんが、覚えている限り、pprofスクリプトの問題は、Go固有のnmではなく、標準(mingw)バージョンのnmを使用していることです。Go distroには独自のnmプログラムがあります:

C:> go tool nm使用法:nm[-aghnsTu]ファイル...go tool nm:終了ステータス1

C:>

これはすべてのGoバイナリ形式を理解しますが、mingwに付属するnmプログラムは理解しません。pprofperlスクリプト内でnm_commands変数を探します。いくつかの候補がリストされていますが、どれもあなたが望むものではありません。代わりにGonmを指すように変更すると、機能するはずです。

ここでバグを報告してくださいhttp://code.google.com/p/go/issues。6nmがnm_commandsにリストされているため、以前は機能していたと思いますが、Go nmは単にnmに名前が変更され、ユーザーPATHから移動されました。

アレックス

于 2012-07-24T23:30:31.160 に答える
0

私も同様の問題を抱えていました。

解決策は実際の建物のアプリケーションにありました。したがって、「go build test_app.go 」を使用してビルドし、「。/ test_app」を実行すると、関数名が含まれる正しいプロファイリングファイルが得られます。

于 2012-07-27T15:03:08.543 に答える