Windows フォーム
HawkEye 2
実行中のEXEにアタッチしてプロパティ、フィールドの確認/変更、イベントハンドラの確認/実行などができます。
あまり知られていませんが(日本語の紹介記事はほかに見たことがない)、すごいツールです。
元祖 HawkEye の時代から、10年以上の間重宝しています。
左上の◎を実行中の画面コントロールにドラッグして使います。
CodePlex で開発されていた HawkEye(.NET 3.5 まで)を引き継いだ形で、.NET 4 以降にも対応しています。
wfSpy
実行時にプロパティの確認/変更ができます。
ソースコードをダウンロードしてビルドします。
管理者として実行する必要があります。
WPF
Visual Studio(2015 以降)
デバッグ中に [デバッグ]-[ウィンドウ] から「ライブビジュアルツリー」「ライブプロパティエクスプローラー」が使用できます。
WPF Inspector
非デバッグ実行時に XAML 要素をツリー表示し、プロパティやバインドされたビューモデルの中身を確認/変更できます。
リソース、トリガー、スタイルを確認することもできます。
UIオートメーション
Windows フォーム、WPF、Windows ストアアプリ、UWP などのデスクトップアプリケーションにアクセスし、共通のインターフェイスでUI要素を扱うことができます。
Inspect
UI要素をツリーで確認できます。
UI Spy の後継という位置づけで、旧来の MSAAI (Microsoft Active Accessibility) にも対応しています(左上のドロップダウンで切り替え)。
ネイティブプログラムです。
マウスカーソルの位置にある要素がツリー上で自動選択され、属性が表示されます。
Windows Application Driver(WinAppDriver) を利用して自動UIテストを記述する際、要素のIDや名前、構成を確認するのに欠かせないツールです。
[Action] メニューから要素に対して操作を実行することも可能です。
Windows 用のソフトウェア開発キット (Windows SDK) に含まれています。
Windows SDK とエミュレーターのアーカイブ
%ProgramFiles(x86)%\Windows Kits\<major_version>\bin\<version>\<platform>\inspect.exe
※<> 内は環境によって異なります。
Visual UI Automation Verify (Visual UIA Verify)
UIオートメーションの実装を検証するUIテストライブラリのGUIドライバです。
UI要素をツリーで確認できます。
.NET アプリケーションです。
ツリーで選択された XAML 要素は実際のウィンドウ上でハイライト表示されます。
[Tests] ペインから要素に対する操作を検証することができます。
Windows 用のソフトウェア開発キット (Windows SDK) に含まれています。
Windows SDK とエミュレーターのアーカイブ
%ProgramFiles(x86)%\Windows Kits\<major_version>\bin\<version>\<platform>\UIAVerify\VisualUIAVerifyNative.exe
※<> 内は環境によって異なります。
WinAppDriver UI Recorder
記録がアクティブなときに行った操作が解析され、WinAppDriver を利用したテスト向けの C# コードが自動生成されます。
自動生成されたコードでは、要素は XPath の絶対パスで特定されます。
そのまま使えるほどメンテナンス性のよいコードが生成されるわけではありません。
Excel のマクロ記録と同様、補助的に使うのがよさそうです。
ASP.NET
Glimpse
実行時にブラウザ下部に診断結果が表示されます。
コントロールツリー、サーバーイベント、各フェーズの処理時間、リクエスト、セッション、ルート解析など、様々な情報を確認することができます。
WebフォームでもMVCでも使用できます。
Prefix
ASP.NET Core に対応しています。
《セットアップ》
(1) Prefix をインストールします。
(2) StackifyMiddleware パッケージを Nuget でインストールします。
(3) Startup クラスの Configure メソッドで StackifyMiddleware をミドルウェア登録(UseMiddleware)します。
(4) タスクトレイの Prefix コンテキストメニューから [Enable .NET Profiler] を選択して有効化します。
(5) タスクバルーンで促されたら Visual Studio を再起動します。
(6) Webアプリケーションを IIS Express で開始します。
(7) タスクトレイの Prefix コンテキストメニューから [Open in browser] を選択し、トレースページを開きます。
Application Insights
監視データを Microsoft Azure に送信し、ポータルで診断結果を確認できます。
Azure アカウントが必要です。
料金や無料枠についてはこちらをご参照ください。
アプリケーションが Azure 上でホスティングされている必要はなく、「インストルメンテーション キー」で関連づけることにより、オンプレミス運用や開発環境のデバッグ目的でも使用できます。
監視適用方法には「ビルド時(SDK)」「実行時(Status Monitor)」の二種類があります。
オペレーティングシステム、IIS サーバー、サーバーアプリケーション、データベースアクセス、クライアントスクリプトが監視対象となり、リクエスト応答時間、内部処理のタイムライン、SQL、トレースログ、エラー内容、CPU/メモリ/ネットワーク使用率、ユーザー数とセッション数などが診断結果として確認できます。
カスタムクエリによる監視データ抽出、グラフ表示が可能な Analytics というツールも提供されています。
ネットワーク
Fiddler
ブラウザ/非ブラウザの通信をキャプチャしてくれます。
リクエスト/レスポンスを上下に並べて、テキスト/JSON/XML/クッキーなど様々なビューで確認できます。