0

Visual C++ 2010 でコードをデバッグしようとすると、[出力] ボックスに次のような通知が表示されます。

'latihan.exe': ロードされた 'C:\Users\sinta\Documents\Visual Studio 2010\Projects\latihan\Debug\latihan.exe'、シンボルがロードされました。
'latihan.exe': ロードされた 'C:\Windows\System32\ntdll.dll', 見つからないか、PDB ファイルを開けません
'latihan.exe': ロードされた 'C:\Windows\System32\kernel32.dll', 見つからないかまたはPDB ファイル
'latihan.exe' を開きます: ロードされた 'C:\Windows\System32\KernelBase.dll', PDB ファイル
'latihan.exe' が見つからないか、開くことができません: ロードされた 'C:\Windows\System32\mpich2mpi.dll' 、PDB ファイル 'latihan.exe' が見つからないか、開くことができません: ロードされた 'C:\Windows\System32\msvcr100d.dll'、シンボルがロードされました。
プログラム '[1008] latihan.exe: Native' はコード 0 (0x0) で終了しました。

コード :

#include <stdio.h>

int main ()
{
    printf ("Welcome \n");
    return 0;
}

ただ知りたいだけです、 :)

4

2 に答える 2

1

出力ウィンドウを右クリックすると、コンテキスト メニューが表示されます。

ここに画像の説明を入力

チェックボックスのあるエントリは、投稿した内容に対応しています。これらは、プログラムで何か興味深いことが起こったときにデバッガーによって生成される通知であり、知りたいことがあります。いずれかのチェックを外すと、対応するタイプのメッセージが表示されなくなります。それらすべてを文書化する:

  • 例外メッセージ。プログラムで例外がスローされると、「最初のチャンス」例外通知メッセージが生成されます。例外がキャッチされない場合は、別の例外が発生し、デバッガーは例外をスローしたステートメントで停止します。例外は通常問題を示しているため、常に例外に関心があります。
  • ステップフィルタリングメッセージ。C++ コードとは関係ありませんが、マネージ コードには、作成していないコードを自動的にステップ オーバーできる "Just My Code" デバッグ機能があります。
  • モジュールのロード メッセージ。プロセスにロードされるすべての DLL についてメッセージが表示されます。メッセージ 2 から 6 が表示されます。また、DLL のデバッグ シンボルが検出されたかどうかも示されます。シンボル サーバーを構成していないため、これらの Windows DLL 用のものはありません。実際には必要ありませんが、winapi 呼び出しが失敗したときに便利です。
  • モジュールのアンロード メッセージ。DLL がいつアンロードされるかを通知します
  • 終了メッセージを処理します。プログラムの実行がいつ停止したかを示します。スニペットの最後のもの。終了コードに興味があるかもしれませんが、0 が適切です。
  • スレッド終了メッセージ。スレッドがいつ実行を停止したかを通知し、終了コードも表示します。
  • プログラム出力。プログラムのコードが C/C++ プログラムで OutputDebugString を使用して書き込むものはすべて、[出力] ウィンドウに表示されます。

スニペットではすべてが正常に見えます。

于 2012-05-10T04:27:53.837 に答える
1

これらのメッセージは、さまざまな Windows DLLのシンボル ファイル (プログラム データベースの .pdb) がシステムにないことを意味します。通常はあまり気にしないので、これらはかなり無害なメッセージですが、シンボルを取得したい場合は、Microsoft のシンボル サーバー経由で取得できます。

于 2012-05-10T04:07:15.390 に答える