MDA(Managed Debugging Assistants)を利用すると、通常の方法ではわかりえないより詳細なデバッグ情報を取得することができます。MDAにはいろいろなタイプがありますが、今回はPInvokeStackImbalance MDAを説明します。 今回利用するサンプルアプリBeep()を呼び出すサンプルアプリを使います。(このコードはThottamのブログで紹介されていたコードです。) using System.Runtime.InteropServices; namespace MDA{ class P...
- 2012/06/30(土) 14:23:04|
- .NET
-
| トラックバック:0
-
| コメント:0
ビルドをreleaseビルドで行うと、通常!clrstack実行時に関数の引数やローカル変数の値が確認できません。最適化が行われているためです。そこで、今回はreleaseビルドでも、再コンパイルすることなく!clrstack実行時に関数の引数やローカル変数の値が確認できるようになる方法を記述します。 Releaseビルド時にも!clrstackで関数の引数やローカル変数の値を表示する方法Releaseビルド時にも!clrstackで関数の引数やローカル変数の...
- 2012/06/19(火) 14:39:49|
- SOS・Psscor2/Psscor4
-
| トラックバック:0
-
| コメント:0
.NETアプリのダンプ調査方法について、以下の流れでまとめました。1. .NETアプリのダンプ取得方法2. WinDbg.exe(=ダンプ調査に使用するデバッガー)のインストール3. WinDbgを使った.NETアプリのダンプ調査方法以下詳細を見てみます。 1. .NETアプリのダンプ取得方法.NETアプリのダンプを取得する方法は種々あり、以下が有名なツールです。・タスクマネージャー・DebugDiag・procdump・adplusダンプ取得時の注意点は.NETアプリのダ...
- 2012/06/08(金) 14:51:49|
- SOS・Psscor2/Psscor4
-
| トラックバック:0
-
| コメント:0
Visual Studio 2012で導入されたVisual Studio Fakes Frameworkを紹介します。Visual Studio Fakes FrameworkではStubとShimという二つのタイプが利用でき、Stubについては前回紹介しました。今回はShimを利用した単体テストの方法を記述します。 今回使用するサンプルアプリユーザーが入力したユーザー名・パスワードがデーターベースに保存しているものと一致するかを判断することを目的としたC#プログラムです。 using System;...
- 2012/06/04(月) 14:15:37|
- Visual Studio
-
| トラックバック:0
-
| コメント:0
Visual Studio 2012で導入されたVisual Studio Fakes Frameworkを紹介します。以下、次の流れで紹介していきます。・Visual Studio Fakes Frameworkはなぜ必要?・Visual Studio Fakes Frameworkで利用できる二つのタイプ(Stub・Shim)・今回使用するサンプルアプリ・Stubを利用した単体テスト (Shimを利用した単体テストは次回紹介します) Visual Studio Fakes Frameworkはなぜ必要?Visual Studio Fakes Frameworkはより独立した...
- 2012/06/01(金) 15:59:40|
- Visual Studio
-
| トラックバック:0
-
| コメント:0