マネージ コードのデバッグ

ここでは、マネージ アプリケーションに共通するデバッグの問題と手法について説明します。マネージ アプリケーションは、Visual Basic、C#、C++ など、共通言語ランタイムをターゲットにした言語で記述されたアプリケーションです。ここでは、高度な手法について説明します。詳細については、「デバッガーの使用方法」を参照してください。

このセクションの内容

  • 出力ウィンドウの診断メッセージ
    Debug クラスと Trace クラスについて説明します。このクラスを使用して、[出力] ウィンドウに出力されるランタイム メッセージを記述できます。Debug クラスと Trace クラスに含まれている出力メソッドを使用すると、実行の中断を伴わない情報出力、および指定した条件が満たされなかった場合に実行の中断を伴う情報出力ができます。

  • マネージ コードのアサーション
    マネージ コードのアサーションについて説明し、Assert メソッドの引数として指定された条件をテストします。ここでは、サンプル コード、Debug クラスと Trace クラスのメソッドの使用に関する情報、デバッグ バージョンとリリース バージョンのコードの注意事項、副作用、アサートの引数、アサートの動作のカスタマイズ、および構成ファイルについても説明します。

  • Visual Basic の Stop ステートメント
    ブレークポイントの設定の代わりに使用できる Stop ステートメントについて説明します。サンプル コードを示し、Stop ステートメントと End ステートメントの比較、および Stop ステートメントと Assert ステートメントの比較を行います。

  • チュートリアル : Windows フォームのデバッグ
    Windows フォームを作成し、そのフォームをデバッグする方法を順をおって説明します。マネージ Windows アプリケーションの標準コンポーネントである Windows フォームは、最も一般的なマネージ アプリケーションの 1 つです。このチュートリアルでは Visual C# と Visual Basic を使用しますが、C++ を使って Windows フォームを作成する場合と方法は似ています。

  • OnStart メソッドのデバッグ
    マネージ Windows サービスの OnStart メソッドのデバッグに使用できるコード例を紹介します。Windows サービスの OnStart メソッドをデバッグするには、サービスをシミュレートする数行のコードを追加する必要があります。

  • 混合モードのデバッグ
    混合モード アプリケーションのデバッグについて説明します。これは、ネイティブ コードとマネージ コードを組み合わせたアプリケーションです。

  • エラー : "Debugging Isn't Possible Because a Kernel Debugger is Enabled on the System"
    デバッグ モードで起動された Windows 7、Windows Vista、Windows XP、Windows 2000、または Windows NT システムでマネージ コードのデバッグを試みたときに発生するエラー メッセージについて説明します。

  • JIT の最適化とデバッグ
    デバッグでの JIT 最適化の効果について説明します。

  • LINQ および DLINQ のデバッグ
    LINQ クエリのデバッグ手法について説明します。

  • チュートリアル: 並行アプリケーションのデバッグ
    [並列タスク] ツール ウィンドウと [並列スタック] ツール ウィンドウを使用して並行アプリケーションをデバッグする方法について説明します。

関連項目

  • IntelliTrace を使用したコード実行の記録によるアプリのデバッグ
    IntelliTrace のアプリケーションの実行履歴を記録することにより、すばやく簡単なバグを検索します。ステップ主要な時点について、アプリケーションの状態をチェックするタブ付きイベントと呼び出しによる逆方向に、転送されます。ブレークポイントの多くを設定する場合、またはよくとして、アプリケーションを再起動することなくコードをデバッグします。Visual Studio Ultimate が必要です。

  • アプリケーションのトレースとインストルメント
    アプリケーションの実行を監視するトレース、およびコードの重要な位置にトレース ステートメントを挿入するインストルメントについて説明します。ここでは、ステートメントのインストルメンテーションとトレース、トレース スイッチ、トレース リスナー、アプリケーション コードのトレース、アプリケーション コードへのトレース ステートメントの追加、DebugTrace を使った条件付きコンパイルの説明へのリンクを提供します。

  • /ASSEMBLYDEBUG (DebuggableAttribute の追加)
    C++ で作成されたコードに DebuggableAttribute を追加するリンカー オプションについて説明します。この属性は、C++ によるアタッチなどのデバッグ機能を使用するときに必要です。

  • Windows サービス アプリケーションのデバッグ
    Windows サービス アプリケーションのデバッグに関する注意事項を示します。セットアップ、プロセスとのアタッチ、サービスの OnStart メソッドと Main メソッドのコードのデバッグ、ブレークポイントの設定、サービス コントロール マネージャーを使用したサービスの開始、停止、一時中断、継続などが含まれます。

  • アプリケーションのデバッグとプロファイリング
    .NET Framework アプリケーションのデバッグと構成要件について説明します。

  • スクリプトと Web アプリケーションのデバッグ
    スクリプトおよび Web アプリケーションのデバッグ時に発生する一般的な問題、およびデバッグの手法について説明します。

  • Visual Studio 2012 のデバッガーの新機能
    このリリースの Visual Studio で追加された新しいデバッグ機能について説明します。

  • デバッグ
    デバッグに関連するドキュメントのより広範囲なリンクを提供します。これらのリンクでは、デバッガーの新機能、設定と準備、ブレークポイント、例外処理、エディット コンティニュ、マネージ コードのデバッグ、Visual C++ プロジェクトのデバッグ、COM および ActiveX のデバッグ、DLL のデバッグ、SQL のデバッグ、ユーザー インターフェイス リファレンスなどの情報が示されます。

参照

処理手順

チュートリアル : カスタム Windows フォーム コントロールのデザイン時のデバッグ

概念

デバッガーのセキュリティ

その他の技術情報

Visual Studio でのデバッグ