是否可以仅使用 PDB 而没有源代码来调试 DLL?

MiD*_*MiD 5 c++ debugging dll

我正在尝试在 Visual Studio 中调试调用 dll 的 exe。我确保相应的 pdb 与 dll 位于同一路径中。

但我无法进入 dll 提供的功能。我收到一条消息“未找到 xyz.c”

为什么我会收到此消息?

这是否意味着我无法仅从 DLL + .PDB 进入源代码?使用 /Z7 选项构建的静态库 (.lib) 怎么样?

Pav*_*l P 7

不可以,您需要有源代码才能看到源代码。

pdb(或/Z7)包含调试信息,就像可执行代码和源代码之间的映射一样。使用 pdb VS 调试器知道每个指令在源文件中的位置,但它仍然需要源文件来向您显示代码。

通常 pdb 文件存储源文件的位置,VS 调试器知道在哪里找到它们。如果您将 src 文件移动到其他位置,那么 AFAIK VS 将显示一个弹出对话框来浏览它无法找到的 .c/.cpp 文件。