ネイティブ コードのデバッグDebugging Native Code

ここでは、ネイティブ アプリケーションのデバッグ時に発生する一般的な問題や共通のデバッグ技術について説明します。The section covers some common debugging problems and techniques for native applications. ここでは高レベルの手法について説明します。The techniques covered in this section are high-level techniques. Visual Studio デバッガーの使用のしくみについては、「デバッガーの概要」を参照してください)。For the mechanics of using the Visual Studio debugger, see First look at the debugger).

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

方法: 最適化されたコードをデバッグする最適化されたコードのデバッグに関するヒントを提供します。具体的には、最適化されていないバージョンのプログラムをデバッグする理由、デバッグ構成とリリース構成の既定の最適化設定、最適化されたコードにのみ表示されるバグを検出するためのヒント (オンにするデバッグビルド構成での最適化。How to: Debug Optimized Code Gives tips for debugging optimized code, specifically, why you should debug an unoptimized version of your program, default optimization settings for Debug and Release configurations, and tips for finding bugs that only appear in optimized code (turning on optimization in a Debug build configuration).

DebugBreak と __debugbreakWin32 DebugBreak 関数について説明し、Platform SDK のリファレンストピックへのリンクを示します。DebugBreak and __debugbreak Describes the Win32 DebugBreak function and provides a link to its reference topic in the Platform SDK. また、コンパイラの組み込み関数 __debugbreak についても説明します。Also describes the __debugbreak intrinsic.

C/C++アサーションアサーションステートメント、そのしくみ、それらを使用する利点 (論理エラーのキャッチ、操作結果のチェック、およびエラー条件のテスト)、_DEBUG との相互作用、Visual StudioVisual Studio でサポートされているアサーションの種類について説明します。C/C++ Assertions Discusses assertion statements, how they work, the benefits of using them (catching logic errors, checking results of an operation, and testing error conditions), their interaction with _DEBUG, and the types of assertions supported in Visual StudioVisual Studio.

方法: インラインアセンブラーコードをデバッグする[逆アセンブリ] ウィンドウを使用してアセンブリの命令とレジスタウィンドウを表示し、レジスタの内容を表示し、それらのウィンドウに関するトピックへのリンクを提供する簡単な手順を説明します。How to: Debug Inline Assembly Code Provides short instructions on using the Disassembly window to view the assembly instructions and the Registers window to view register contents and provides links to topics regarding those windows.

MFC のデバッグ技術AfxDebugBreak、TRACE マクロ、MFC でのメモリリークの検出、mfc アサーション、MFC デバッグビルドのサイズの縮小など、MFC プログラムのデバッグ手法についてのリンクを示します。MFC Debugging Techniques Links you to debugging techniques for MFC programs, including: afxDebugBreak, the TRACE macro, detecting memory leaks in MFC, MFC assertions, and reducing the size of MFC Debug builds.

CRT のデバッグ技術CRT デバッグライブラリの使用、レポート用マクロ、malloc と _malloc_dbg の違い、デバッグ用フック関数の記述、CRT デバッグヒープなど、C ランタイムライブラリのデバッグ手法についてのリンクを示します。CRT Debugging Techniques Links you to debugging techniques for the C Run-Time Library, including using the CRT Debug Library, macros for reporting, differences between malloc and _malloc_dbg, writing debug hook functions, and the CRT debug heap.

ネイティブコードのデバッグに関する faqプログラムのデバッグC++に関してよく寄せられる質問への回答を提供します。Debugging Native Code FAQs Provides answers to frequently asked questions about debugging C++ programs

COM および ActiveX のデバッグCom および activex のデバッグに使用できるツールなど、COM および ActiveX アプリケーションのデバッグについて説明します。COM and ActiveX Debugging Provides information on debugging COM and ActiveX applications, including tools you can use for COM and ActiveX debugging.

方法: 挿入されるコードをデバッグする属性を使用するコードのデバッグに関するガイダンスを提供します。How to: Debug Injected Code Provides guidance on debugging code that uses attributes. ソースの注釈を表示する方法、挿入されたコードを表示する方法、現在の実行ポイントにある逆アセンブリ コードを表示する方法などを説明します。Instructions include how to turn on Source Annotation, how to view injected code, and how to view the disassembly code at the current execution point.

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

プロジェクトのデバッグC++の準備プロジェクトテンプレートによってC++作成されたネイティブプロジェクトの種類をデバッグする方法について説明するトピックへのリンクを提供します。Prepare to debug C++ projects Provides links to topics that describe how to debug the native project types created by the C++ project templates.

DLL プロジェクトのデバッグネイティブ Dll とマネージ Dll をデバッグする方法について説明します。Debugging DLL Projects Provides information on how to debug native and managed DLLs.

最初にデバッガーを確認するデバッグドキュメントのより大きなセクションへのリンクを示します。First look at the debugger Provides links to the larger sections of the debugging documentation. デバッガーの新機能、設定と準備、ブレークポイント、例外の処理、エディット コンティニュ、マネージド コードのデバッグ、ネイティブ コードのデバッグ、SQL のデバッグ、ユーザー インターフェイス リファレンスなどの情報へのリンクを提供します。Information includes what's new in the debugger, settings and preparation, breakpoints, handling exceptions, edit and continue, debugging managed code, debugging native code, debugging SQL, and the user interface references.

参照See Also