2011-01-22 15 views
1

私はmentalisのWebサイトから取得したプロキシソケットクラスで動作する比較的小さなプログラムを持っています。なんらかの理由で、このプログラムは、実行時にすぐに100%CPUリソースになりました。私はすべてのコードの問題を見つけることができると思うことができるVisual Studioの機能は、コードのどの部分が最もリソース集約的な識別するのに役立ちますか?なぜソケットクラスがそのようなCPUの豚になるかについてのアイデア?Visual Studioリソース

答えて

1

プログラムをデバッグモードで実行し、CPU負荷が100%になったら、実行中のプロセスをCtrl-Alt-Breakで中断します。問題の原因となっているコードの部分でプログラムを停止する可能性が非常に高いです。適切なコード行を見つけるのに1回のブレークでは不十分な場合は、これを数回繰り返します。

おそらく、おそらくソケットクラスは何らかのポーリングやビジー待機をしますか?

+0

ポーリングの意味は? –

+0

http://ja.wikipedia.org/wiki/Polling_%28computer_science%29 –

2

Visual Studio 2010 PremiumおよびEnterpriseエディションにはプロファイラが組み込まれています。この機能は「パフォーマンスエクスプローラ」と呼ばれています。これが利用できない場合は、デバッグビルドを行い、定期的にコードを停止して手動でプロファイリングを実行して、最も頻繁に実行されるコードを確認してください(編集:Doc Brownによる記述)。

関連する問題