troushoo

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Debug Diagnostic Tool によるダンプファイルの解析レポートの作成


概要

Debug Diagnostic Tool を使用して、ダンプファイルの解析レポートを作成する方法を紹介します。

内容

Debug Diagnostic Tool とは
Debug Diagnostic Tool とは、マイクロソフトによりフリーで公開されているツールです。
ダンプファイルの作成や、ダンプファイルの解析を行うことができます。

Debug Diagnostic を用いて、ダンプファイルの解析レポートを作成
1. 「C:\Program Files\DebugDiag」にある「DebugDiag.Analysis.exe」を起動します。


2. 「Add Data Files」をクリックします。


3. ダンプファイルを選択します。


4. ダンプ解析を行うルールを選択します。ここでは.NET のメモリの状況を解析する「DotMetMemoryAnalysis」を選択しました。


5. 「Start Analysis」をクリックします。


6. ダンプファイルの解析が行われます。


7. 解析が終了すると、ブラウザが起動し、解析レポートが表示されます。


8. レポートを見ると、どのタイプでメモリが使われているかといったこともわかります。
今回の例では「System.Byte[]」に761.72MB 割り当てられておりました。


レポートはGitHub にも公開しました。ダウンロードの上、参照ください。
ダウンロードは、PowerShell を起動し以下のコマンドでダウンロードできます。

wget https://raw.githubusercontent.com/troushoo/SimulatedMemoryLeak/master/SimulatedMemoryLeak_DotNetMemoryAnalysis.mht -OutFile <保存ファイルのパス>

 
今回利用したサンプルコード
今回用いたサンプルコードは以下です。
GitHub にも公開しております。

using System;
 
namespace SimulatedMemoryLeak
{
    class Program
    {
        static Foo[] array;
        static int i;
 
        static void Main(string[] args)
        {
            array = new Foo[2048];
            i = 0;
 
            Console.WriteLine("Press Enter to allocate large memory.");
            Console.WriteLine("Press Ctrl + C to exit");
 
            while (true)
            {
                Console.ReadLine();
                array[i] = new Foo();
                i++;
                Console.WriteLine("10M bytes are allocated.");
            }
        }
 
        public class Foo
        {
            private byte[] m_buffer = new byte[10240000]; //Allocate 10M bytes
        }
    }
}

情報元
Analyze a memory dump using the Debug Diagnostic tool (英語)

関連記事
応答のないWeb アプリのダンプをDebug Diagnostics で採取


  1. 2016/02/21(日) 15:34:10|
  2. ツール
  3. | トラックバック:0
  4. | コメント:0
<<Visual Studio を使用してファイルの比較・マージ:vsDiffMerge.exe | ホーム | 暗号化されたSMB 通信を復号した状態でキャプチャーし、SMB 通信の中身を確認する方法復号>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://troushoo.blog.fc2.com/tb.php/276-bace19fa
この記事にトラックバックする(FC2ブログユーザー)

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

ツール (92)
ネットワーク (76)
Visual Studio (56)
SOS・Psscor2/Psscor4 (25)
WinDbg (25)
Linux (23)
Azure (17)
Tips (20)
英語 (1)
About Me (1)
未分類 (0)

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。