マネージコードのデバッグC#(、Visual Basic F#、 C++/cli)Debug Managed Code (C#, Visual Basic, F#, C++/CLI)

このセクションでは、マネージアプリケーションの一般的なデバッグの問題と手法、およびC# C++Visual Basic、、/cli などの共通言語ランタイムを対象とする言語で記述されたアプリケーションについて説明します。This section covers common debugging problems and techniques for managed applications, or applications written in languages that target the common language runtime, such as Visual Basic, C#, and C++/CLI. ここでは、高度な手法について説明します。The techniques described here are high-level techniques. デバッガーでのはじめにFirst look at the debugger.

このセクションの内容In This Section

出力ウィンドウの診断メッセージDiagnostic Messages in the Output Window
Debug クラスと Trace クラスについて説明します。このクラスを使用して、 [出力] ウィンドウに出力されるランタイム メッセージを記述できます。Describes the Debug and Trace classes, with which you can write run-time messages to the Output window. Debug クラスと Trace クラスに含まれている出力メソッドを使用すると、実行の中断を伴わない情報出力、および指定した条件が満たされなかった場合に実行の中断を伴う情報出力ができます。These classes include output methods that enable information output without breaking execution and information output that also breaks execution if a specified condition fails.

マネージド コードのアサーションAssertions in Managed Code
マネージド コードのアサーションについて説明し、Assert メソッドの引数として指定された条件をテストします。Describes assertions in managed code, which test conditions that you specify as arguments to Assert methods. ここでは、サンプル コード、Debug クラスと Trace クラスのメソッドの使用に関する情報、デバッグ バージョンとリリース バージョンのコードの注意事項、副作用、アサートの引数、アサートの動作のカスタマイズ、および構成ファイルについても説明します。In addition, this topic provides example code, information on using Debug and Trace class methods, considerations in Debug and Release versions of code, side effects, assert arguments, customizing assert behavior, and configuration files.

Visual Basic の Stop ステートメントStop Statements in Visual Basic
ブレークポイントの設定の代わりに使用できる Stop ステートメントについて説明します。Describes the Stop statement, which provides an alternative to setting a breakpoint. サンプル コードを示し、Stop ステートメントと End ステートメントの比較、および Stop ステートメントと Assert ステートメントの比較を行います。Example code is also provided, along with comparisons between the Stop statement and the End statement, as well as between Stop and the Assert statement.

チュートリアル : Windows フォームのデバッグWalkthrough: Debugging a Windows Form
Windows フォームを作成し、そのフォームをデバッグする方法を順をおって説明します。Gives step-by-step instructions for creating a Windows Form and debugging that form. マネージド Windows アプリケーションの標準コンポーネントである Windows フォームは、最も一般的なマネージド アプリケーションの 1 つです。A Windows Form, a standard component of a managed Windows application, is one of the most common managed applications. このチュートリアルでは Visual C# と Visual Basic を使用しますが、C++ を使って Windows フォームを作成する場合と方法は似ています。This walkthrough uses Visual C# and Visual Basic, but the techniques for creating a Windows form with C++ are generally similar.

OnStart メソッドのデバッグDebugging the OnStart Method
マネージド Windows サービスの OnStart メソッドのデバッグに使用できるコード例を紹介します。Provides code examples to allow you to debug the OnStart method of a managed Windows service. Windows サービスの OnStart メソッドをデバッグするには、サービスをシミュレートする数行のコードを追加する必要があります。To debug the OnStart method of a Windows service, you must add a few lines of code to simulate the service.

混合モードのデバッグMixed-Mode Debugging
混合モード アプリケーションのデバッグについて説明します。Discusses debugging mixed-mode applications. これは、ネイティブ コードとマネージド コードを組み合わせたアプリケーションです。This means any application that combines native code with managed code.

エラー: システム上でカーネル デバッガーが有効になっているため、デバッグできませんError: Debugging isn't possible because a kernel debugger is enabled on the system
デバッグ モードで起動された Windows 7Windows 7Windows VistaWindows VistaWindows XPWindows XPWindows 2000Windows 2000、または Windows NT システムでマネージド コードのデバッグを試みたときに発生するエラー メッセージについて説明します。Describes an error message that occurs if you try to debug managed code on a Windows 7Windows 7, Windows VistaWindows Vista, Windows XPWindows XP, Windows 2000Windows 2000, or Windows NT system that has been started in debug mode.

JIT の最適化とデバッグJIT Optimization and Debugging
デバッグでの JIT 最適化の効果について説明します。Describes the effects of JIT optimization on debugging.

LINQ および DLINQ のデバッグDebugging LINQ and DLINQ
LINQ クエリのデバッグ手法について説明します。Discusses techniques for debugging LINQ queries.

チュートリアル: 並行アプリケーションのデバッグWalkthrough: Debugging a Parallel Application
[並列タスク] ツール ウィンドウと [並列スタック] ツール ウィンドウを使用して並行アプリケーションをデバッグする方法について説明します。Describes how to use the Parallel Tasks and Parallel Stacks tool windows to debug a parallel application.

IntelliTraceIntelliTrace
IntelliTrace でアプリの実行履歴を記録することにより、すばやく簡単にバグを検索します。Find bugs faster and easier by recording your app's execution history with IntelliTrace. 記録されたイベントと呼び出しを前後にステップ実行して重要な時点でのアプリの状態を調べます。Step backward and forward through recorded events and calls to examine your app's state at key points in time. 多くのブレークポイントを設定することも、アプリを頻繁に再起動することもなく、コードをデバッグします。Debug your code without setting lots of breakpoints or restarting your app as frequently. Visual Studio Enterprise が必要です。Requires Visual Studio Enterprise.

アプリケーションのトレースとインストルメントTracing and Instrumenting Applications
アプリケーションの実行を監視するトレース、およびコードの重要な位置にトレース ステートメントを挿入するインストルメントについて説明します。Describes tracing, a way for you to monitor the execution of your application while it is running, and instrumenting, which involves placing trace statements at strategic locations in your code. ここでは、ステートメントのインストルメンテーションとトレース、トレース スイッチ、トレース リスナー、アプリケーション コードのトレース、アプリケーション コードへのトレース ステートメントの追加、DebugTrace を使った条件付きコンパイルの説明へのリンクを提供します。This topic also provides links to an introduction to instrumentation and tracing, trace switches, trace listeners, tracing code in an application, adding trace statements to application code, and compiling conditionally with Debug and Trace.

/ASSEMBLYDEBUG/ASSEMBLYDEBUG
C++ で作成されたコードに DebuggableAttribute を追加するリンカー オプションについて説明します。Describes a linker option that adds DebuggableAttribute to code written with C++. この属性は、C++ によるアタッチなどのデバッグ機能を使用するときに必要です。This attribute is needed to use debugging features such as attach with C++.

Windows サービス アプリケーションのデバッグDebugging Windows Service Applications
Windows サービス アプリケーションのデバッグに関する注意事項を示します。セットアップ、プロセスとのアタッチ、サービスの OnStart メソッドと Main メソッドのコードのデバッグ、ブレークポイントの設定、サービス コントロール マネージャーを使用したサービスの開始、停止、一時中断、継続などが含まれます。Provides considerations for debugging Windows service applications, including setting up, attaching to the process, debugging the code in the service's OnStart method and the code in the Main method, setting breakpoints, and using the Services Control Manager to start, stop, pause, and continue your service.

デバッグとプロファイリングDebugging and Profiling
.NET アプリケーションのデバッグと構成要件について説明します。Discusses debugging .NET applications and the configuration requirements.

スクリプトと Web アプリケーションのデバッグDebugging Script and Web Applications
スクリプトおよび Web アプリケーションのデバッグ時に発生する一般的な問題、およびデバッグの手法について説明します。Describes common debugging problems and techniques you may encounter when debugging script and Web applications.

関連項目See also