0

Visual Studio 按照我的意愿将项目编译为 dll,但是当我使用 dumpbin 检查这些 dll 时,它们的 pdb 没有条目,这可能是我加载它们时无法调试任何这些 dll 的原因在运行时,它们的 pdb 永远不会被加载。如何让 VS 编写这些路径?

视觉工作室,C++。

编辑:C++/General/Debug Information format ist set to "Program Database (/Zi)" and Linker/Debugging/Generate Debug Info are on "Yes (/DEBUG)",我相信这是正确的。

4

3 回答 3

2

如果dumpbin /headers在调试目录中没有显示任何条目,可能是因为您没有在编译和链接时启用调试信息生成。您应该检查C++/General/Debug Information 格式Linker/Debugging/Generate Debug Info选项。

如果设置了这些选项,您可以检查 Visual 输出目录中的 dll 和 pdb 是否匹配。使用 Windows 调试工具,您可以使用该命令symchk /v yourdll /s folder_containing_pdb验证调试器引擎是否可以找到 pdb。它将检查 dll 是否不包含调试信息,在这种情况下您缺少 Visual Studio 中的选项,或者 pdb 文件是否不完整。您还可以将 Windbg 与命令一起使用!sym noisy有关详细说明,请参见此处。

于 2010-10-04T12:12:14.467 回答
0

dll 中未引用 pdb,它们由 Visual Studio 搜索。如果它们在同一个目录中,它应该找到它们。

于 2010-09-24T15:15:10.760 回答
0

您可以根据本文指导 Visual Studio 在何处查找符号。总之:

单击“文件”菜单上的“符号文件路径”以显示、设置或附加到符号路径。

关于符号如何使用的更全面的概述在这里

窗口中应该有Output关于加载 DLL 时发生的情况的信息。也许这不是您期望的版本?

于 2010-09-24T15:42:10.937 回答