【问题标题】:What's the meaning of this notification?这个通知是什么意思?
【发布时间】:2012-05-18 15:03:28
【问题描述】:

当我尝试在 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;
}

我只是想知道,:)

【问题讨论】:

  • 有7个通知,你问的是哪一个?
  • 所有通知的含义。对不起,如果这个问题看起来很愚蠢,我是新手 :-)

标签: visual-studio-2010 visual-c++-2010


【解决方案1】:

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

【讨论】:

  • 这意味着我可以忽略这些通知,因为我在 C 中使用了编码?
【解决方案2】:

右击输出窗口,你会得到一个上下文菜单:

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

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

在你的 sn-p 中一切看起来都很正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-11
    • 2018-10-29
    • 1970-01-01
    • 2017-05-25
    • 2010-10-03
    • 2013-02-21
    • 2015-01-09
    • 2011-10-12
    相关资源
    最近更新 更多