デバッグ

デバッガへの出力

Visual Studioならば、出力ウィンドウへ出力できます。

OutputDebugString

VOID OutputDebugString(
    LPCTSTR lpOutputString // 表示する文字列へのポインタ
);
OutputDebugString 関数 | MSDN OutputDebugString function (Windows) | MSDN
OutputDebugString( L"SAMPLE" );

これを書式化するには、printf()などで書式化した文字列を作成した上で、それを出力します。

int data = 0;
...

wchar_t str[ 256 ];
swprintf_s( str, L"%d", data );

OutputDebugString( str );

コンソールへの出力

標準出力へ出力することで、コンソールへ出力できます。そのときワイド文字が文字化けするときには、

setlocale( LC_ALL, ".932" );

のように、setlocale()でコードページをShift_JISに設定します。

終了時にコンソール ウィンドウが閉じられないようにする方法

Visual Studioを使用しているならば、ブレークポイントを設定します。さもなくばgetchar()で入力待ちの状態とします。c++ - system("pause"); - Why is it wrong? - Stack Overflow

デバッグ実行

コマンドライン引数 (command-line arguments)

Visual Studioではプロジェクトのプロパティを開き、[デバッグ]の[コマンド引数]からデバッグ時に引数を渡せます。そのとき複数の値を渡すなら、空白で区切ります。方法 : アプリケーションのデバッグのための開始オプションを設定する | MSDN

エラー内容の確認

#define     errno        (*_errno())
#define _doserrno    (*__doserrno())
#define _sys_errlist  (__sys_errlist())
#define _sys_nerr    (*__sys_nerr())
  マクロ 代替の関数
エラーコード errno
  • _get_errno … 取得
  • _set_errno … 設定
I/O操作のエラーコード _doserrno
  • _get_doserrno … 取得
  • _set_doserrno … 設定
エラーメッセージの配列 _sys_errlist
  •  strerror_s … エラーメッセージの取得
  • _strerror_s … エラーメッセージの出力
  •  _wcserror_s … エラーメッセージの取得 (ワイド文字)
  • __wcserror_s … エラーメッセージの出力 (ワイド文字)
エラーメッセージの配列の要素数 _sys_nerr  
errno, _doserrno, _sys_errlist, and _sys_nerr | Microsoft Learn
Microsoft Learnから検索