2017-09-14 9 views
1

サンプルアプリケーションは次のようになります。String.Concatを呼び出してCPU使用率タブに高CPUが表示されない

class Program 
    { 
     static List<XmlNode> memList = new List<XmlNode>(); 
     static void Main(string[] args) 
     { 
      Console.WriteLine("Press any key to start"); 
      Console.ReadKey(); 
      CauseHighCPU(); 
     } 



     static public void CauseHighCPU() 
     { 
      string str = string.Empty; 
      for (int i = 0; i < 100000; i++) 
      { 
       str += " Hello World"; 
      } 
     } 
} 

高いCPUを引き起こす文字列連結が必要です。 PerfViewを使用してアプリケーションのプロファイルを作成すると、これは非常に鮮明です。

enter image description here

私は、Visual Studio 2017の診断ハブを使用して同様の解析を行うことをしようとしています。以下は、そのCPU使用率タブに表示されるものです。

enter image description here

、連結方式への呼び出しを示していない。そのコールツリービュー、ただし、いくつかの外部コードは、これは私はそれが私の構成ガイドで行方不明の何かに関連していると思います ​​

ここにあります。ここからわかるように、[自分のコードを有効にする]チェックボックスはオフになっています。また

enter image description here

ないように注意してくださいそれに関連するが、ここでのシンボルの設定の場合。

enter image description here

VSが高CPU使用率の根本的な原因が表示されない原因となっている間違っている可能性が何をどれthouhts。

答えて

2

あなたはデバッグのオプションではなくパフォーマンスツールのオプションで見て、その後、「ちょうど私のコードを」無効にしないでください。

Options: disable "Just my code" in Performance tools

+0

これは、それは私の友人でした。どうもありがとう。しかし、これは現在、ntdll.dll、wow64.dllからあまりに多くの "迷惑メール"を引き起こしています。 PerfViewビューはあまりにもきれいです。ここにVSの同じタイプのスタックを得るためにとにかくありますか? –

+0

@jimcrown:申し訳ありませんが、私はVisual Studioでこれを掃除する方法がわかりません –

+0

これは別のトピックですので、ここでは別の質問を投稿します –

関連する問題