はじめに
DebugBreakとプロセスアタッチを使ったC++アプリケーションデバッグの方法をまとめてみました。
Windowsデバッグの極意 ツールを使いこなして、バグハント!
posted with amazlet at 13.07.20
Mario Hewardt Daniel Pravat
アスキー・メディアワークス
売り上げランキング: 307,859
アスキー・メディアワークス
売り上げランキング: 307,859
DebugBreakとプロセスアタッチでC++アプリケーションをデバッグする
1.デバッグしたいプログラムにDebugBreak();を挿入します。
#include "stdafx.h" #include <windows.h> #include <stdlib.h> int _tmain(int argc, _TCHAR* argv[]) { #ifdef _DEBUG DebugBreak(); #endif char tmp[20] = "hello world!\n"; printf("%s", tmp); system("pause"); return 0; }
2.デバッグビルドします。
3.アプリケーションを実行し、目的のプログラムを呼び出します。
4.DebugBreak();の書かれた箇所に処理がきたところで、以下のようなダイアログが表示されます。
5.プログラムの実行が中断している間に、Visual Studioからプロセスにアタッチします。デバッグメニューから「プロセスにアタッチ」を選択します。
6.デバッグ対象のアプリケーションを選択し、「アタッチ」をクリックします。
7.「プログラムをデバッグします」を選択します。
8.以下のダイアログが表示されたら、「中断」をクリックします。
9.DebugBreak();の箇所でプログラムが中断しているので、F10キーを教えてステップ実行することができます。