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

这些消息意味着您的系统缺少各种 Windows DLL 的符号文件(.pdb,用于程序数据库)。它们是非常无害的消息,因为通常您不会真正关心它们,但是如果您想获取符号,可以通过Microsoft 的符号服务器获取它们。

于 2012-05-10T04:07:15.390 回答
1

右键单击输出窗口,您将获得一个上下文菜单:

在此处输入图像描述

带有复选框的条目与您发布的内容相对应。它们是调试器在您的程序中发生您可能想知道的有趣事情时生成的通知。取消选中一个会停止显示相应类型的消息。将它们全部记录下来:

  • 异常消息。程序中抛出的任何异常都会产生“第一次机会”异常通知消息。如果没有捕获到异常,那么您将得到另一个异常,并且调试器会在引发异常的语句处停止。您总是对异常感兴趣,因为它们通常表明存在问题。
  • 步骤过滤消息。与 C++ 代码无关,托管代码具有“仅我的代码”调试功能,可以自动跳过您未编写的代码。
  • 模块加载消息。对于加载到进程中的每个 DLL,您都会收到一条消息。你得到了那些,消息 2 到 6。它还告诉你它是否可以找到 DLL 的调试符号。您没有这些 Windows DLL,因为您没有配置符号服务器。您实际上并不需要它们,但是当 winapi 调用失败时它们会很方便。
  • 模块卸载消息。告诉您何时卸载 DLL
  • 处理退出消息。告诉您程序何时停止运行。您的片段中的最后一个。您可能对退出代码感兴趣,0 很好。
  • 线程退出消息。告诉您线程何时停止运行,同时显示退出代码。
  • 程序输出。程序中的代码在 C/C++ 程序中使用 OutputDebugString 编写的任何内容都将出现在“输出”窗口中。

在您的代码段中,一切看起来都很正常。

于 2012-05-10T04:27:53.837 回答