windbgで.NETのメモリリーク診断

WinDbgが必要。

OSのメニューのWindows Kitsの中にあるWinDbgを起動。対象のプロセスに合わせてx86かx64を選ぶ。C#アプリでAnyCPUの場合はOSに合わせる。

対象プロセスを起動してから、F6を押してプロセスにアタッチする。

WinDbgでシンボルを読み込むために以下を実行

対象プロセスの.NETバージョンとCPUに合わせて以下のどれかを実行。SOSはWinDbgの拡張で、.NETアプリ用の追加のコマンドが利用できるようになる。参照

調べたいオブジェクト型の名前で以下を実行。

リークを検出したいときは、オブジェクトがなくなる動作をしてからGCをして上の動作を行う。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)