是否可以调试只有PDB且没有源代码的DLL?

时间:2017-04-24 21:08:41

标签: c++ debugging dll

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

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

为什么我收到此消息?

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

2 个答案:

答案 0 :(得分:1)

是的,您需要源代码来源调试。 .PDB仅包含符号,因此您可以查看堆栈跟踪或确定崩溃的源文件名和行号。否则,您需要源代码。

答案 1 :(得分:1)

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

pdb(或/ Z7)包含调试信息,类似于可执行代码和源代码之间的映射。使用pdb VS调试器知道每条指令在源文件中的位置,但仍需要有源文件来显示代码。

通常pdb文件存储源文件的位置和VS调试器手机的位置。如果您将它们移动到其他位置,那么AFAIK VS将显示一个弹出对话框,以浏览它找不到的.c / .cpp文件。