代码之家  ›  专栏  ›  技术社区  ›  Steve

在安装程序中包含PDB?

  •  1
  • Steve  · 技术社区  · 16 年前

    有什么理由不在安装程序中包含pdb文件吗?我有C++日志功能,可以在堆栈中运行,并报告行编号和文件名。如果我的客户能给我发送包含这些信息的日志,那就太好了。但是,他们需要pdb文件。部署它们有什么缺点(安装程序包大小除外)?

    3 回复  |  直到 16 年前
        1
  •  3
  •   Billy ONeal IS4    16 年前

    两个可能的缺点:

    • 由于前面的例子,有人可能希望能够调用DLL中的未记录函数。

        2
  •  2
  •   Brent Arias    16 年前

    你应该能够实现“行号和文件名”没有PDB文件。尝试使用\u函数、\u行和\u文件。阅读更多信息:

    http://msdn.microsoft.com/en-us/library/b0084kay.aspx

        3
  •  0
  •   Sebastian    16 年前

    错误处理代码可以创建小型转储,而不是发送PDB文件。参见函数 MiniDumpWriteDump 如果你从客户那里得到转储文件,只有你需要PDB文件。

    IMHO,捕捉应用程序中的断言或意外错误,自动创建一个迷你转储并让应用程序将这个转储发送给您,这是一个非常好的主意。如果你真的很喜欢,你可以为自己建立一个自动的bug跟踪数据库来存储这些小转储。然后,您可以找出哪些错误是最常见的,需要首先修复。不经意间,您会发现许多有关应用程序运行环境的信息。哪些操作系统版本是最常见的,哪些病毒扫描程序连接到你的应用程序等等。