troushoo

スポンサーサイト


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

[sos]!Threads:マネージスレッドの情報表示

WinDbg等で使用できる.NET用のデバッガエクステンションsosで、マネージスレッドの情報を表示する!Threadsについて記述します。 今回使用するアプリ以下のサンプルアプリ(=Threads.exe)を起動すると、CPUが高負荷になるという現象になります。原因は、MyClassのファイナライザで高負荷な処理をするためです。この調査をCPUが高負荷時のダンプを取得し、!Threadsコマンドを用いて、原因はファイナライザにある、というところまで持...
  1. 2012/04/29(日) 14:14:03|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[sos]!U:アセンブラの表示

WinDbg等で使用できる.NET用のデバッガエクステンションsosで、アセンブラを表示する!Uについて記述します。 今回使用するアプリ以下のサンプルアプリを起動し、Mainのアセンブラを表示してみます。 class Program{ static void Main(string[] args) { Console.WriteLine("テスト"); }}[!U]!Uは引数にコードのアドレスを指定してアセンブラを表示させることができます。(詳細なログは後述します。ここでは結果だ...
  1. 2012/04/04(水) 15:22:47|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[Psscor2/Psscor4]!ConvertTicksToDate

Psscor2/Psscor4で使用できるコマンド!ConvertTicksToDateついて記述します。このコマンドを使用するとSystem.DateTimeのdateDataの値をわかりやすい値として表示します。 今回使用するアプリ現在時刻を表示する単純なアプリです。 namespace ConvertTicksToDate{ class Program { static System.DateTime now; static void Main(string[] args) { now = System.DateTime.Now; ...
  1. 2012/03/29(木) 14:15:35|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[sos]!GCRoot:オブジェクトを参照しているオブジェクトのパスを表示

WinDbg等で使用できる.NET用のデバッガエクステンションsosの!GCRootについて記述します。!GCRootを使用すると、メモリリークが疑われる際に、なぜオブジェクトがガーベッジコレクションで解放されないかの原因がわかりえます。今回はメモリリークが発生したWPFアプリを利用して、!GCRootの使用例を記述します。 [!GCRoot コマンド]!GCRootは引数にオブジェクトのアドレスをとり、そのオブジェクトを参照しているオブジェクトのパ...
  1. 2012/03/20(火) 13:58:52|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[Psscor2/Psscor4]!DumpAllExceptions

Psscor2/Psscor4で使用できるコマンド!DumpAllExceptionsを記述します。!DumpAllExceptionsを利用すると、マネージヒープ上の例外情報(System.Exceptionを継承するオブジェクト)の情報を簡単に確認することができ、ダンプ解析等に威力を発揮します。 サンプルアプリ以下のサンプルアプリを使用します。ユーザーにintの変数を入力してもらう単純なアプリです。不正な値を5回入力したら、エラーメッセージを出力し終了します。 cla...
  1. 2012/03/03(土) 15:44:17|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[sos]!SaveModule:ダンプファイルからイメージを抽出

WinDbg等で使用できる.NET用のデバッガエクステンションsosで、ダンプファイルからexe・dllといったイメージを抽出することのできる!SaveModuleについて説明します。イメージを抽出できると、.NET ReflectorやJustDecompile,ILSpy, dotPeekといったデコンパイラでイメージのソースコードを確認することも可能です。 今回使用するアプリ以下のサンプルアプリ(SaveModuleProj.exe)は、0で割るために例外が発生する単純なサンプルア...
  1. 2012/02/16(木) 15:13:53|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[Psscor2/Psscor4]!PrintDateTime

Psscor2/Psscor4で使用できるコマンド!PrintDateTimeついて説明します。!PrintDateTimeを利用すると、System.DataTime・System.TimeSpanの値を簡単に調査できるようになります。 今回使用するアプリReadLine()にどれくらい時間をかけたかを表示する単純なアプリです。 namespace PrintDateTime{ class Program { static System.DateTime before; static System.DateTime after; static System.TimeSpa...
  1. 2012/02/08(水) 15:06:40|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[sos]!bpmd:ブレークポイント設定

WinDbg等で使用できる.NET用のデバッガエクステンションsosでブレークポイントの設定を行う!bpmdについて説明します。 今回使用するアプリ以下のサンプルアプリ(bpmdExe.exe)をWinDbgから起動し、func()の最初でブレークポイントを設定します。 namespace bpmdExe{ class Mybpmd { public void func() { Console.WriteLine("func"); } } class Program { static void Main...
  1. 2012/02/05(日) 15:25:37|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[sos]!DumpHeap:マネージヒープの情報表示

WinDbg等で使用できる.NET用のデバッガエクステンションsosでマネージヒープの情報を表示する!DumpHeapについて説明します。 今回使用するアプリ以下のサンプルアプリを起動し、Console.ReadLine()でWinDbgをアタッチし、!DumpHeapを利用してその時のobj.iが本当に1234であるかを調べてみます。 namespace DumpHeap{ class MyObj { public int i; }  class Program { static void Main(string...
  1. 2012/01/23(月) 15:17:48|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0

[Psscor2/Psscor4]!DumpThreadConfig

Psscor2/Psscor4で使用できるコマンド!DumpThreadConfigついて説明します。!DumpThreadConfigを利用すると、ASP.NETアプリのautoConfigの設定が簡単にわかります。 !DumpThreadConfigの実行例w3wp.exeに対してライブデバッグ、もしくはダンプを取得しPsscor2/Psscor4のコマンド!DumpThreadConfigを実行すると以下のような結果になります。上記のようにautoConfigの設定やその属性の値が一目でわかります。 補足・!DumpThreadConfig...
  1. 2011/12/26(月) 09:29:12|
  2. SOS・Psscor2/Psscor4
  3. | トラックバック:0
  4. | コメント:0
前のページ 次のページ

スポンサーリンク

最新記事

月別アーカイブ

カテゴリ

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

全記事表示リンク

全ての記事を表示する

検索フォーム

RSSリンクの表示

リンク

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

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