Debugging 将VisualStudio2008指向第三方DLL的源代码进行调试 我有一个VS 2008 C++项目,它使用第三方库(开放场景图)。

Debugging 将VisualStudio2008指向第三方DLL的源代码进行调试 我有一个VS 2008 C++项目,它使用第三方库(开放场景图)。,debugging,visual-c++,dll,Debugging,Visual C++,Dll,当我开始调试项目时,每次调用此外部库中的函数时,调试器都会跳过它,因为(显然)调试器没有用于查找代码的.cpp文件。它只跳转到链接到我的项目的头文件中,因为这些文件存在并且它们的位置是已知的。所以,我只能看到那些小的内联函数中发生了什么,而不能看到那些实现在.cpp文件中的大函数,我没有这些文件 我需要的是以某种方式逐步浏览这些第三方DLL/LIB的源代码,就像我使用自己的代码一样 我下载了该库的全部源代码,并在我的机器上编译。现在我有了DLL和LIB,还有.pdb文件和.cpp文件。但是,我如

当我开始调试项目时,每次调用此外部库中的函数时,调试器都会跳过它,因为(显然)调试器没有用于查找代码的.cpp文件。它只跳转到链接到我的项目的头文件中,因为这些文件存在并且它们的位置是已知的。所以,我只能看到那些小的内联函数中发生了什么,而不能看到那些实现在.cpp文件中的大函数,我没有这些文件

我需要的是以某种方式逐步浏览这些第三方DLL/LIB的源代码,就像我使用自己的代码一样

我下载了该库的全部源代码,并在我的机器上编译。现在我有了DLL和LIB,还有.pdb文件和.cpp文件。但是,我如何确切地告诉Visual Studio第三方库的.cpp文件的位置,以便它知道,当我要进入一个来自.dll或.lib的函数时,它会打开相应的.cpp文件(即使它不在我的项目中,并且位于完全不同的文件夹中)

这有可能吗


我尝试将.libs、.dll(调试版本)、.pdb复制到项目使用的位置和“其他库目录”并添加到项目文件夹中,但这肯定不够。

将带有PDB文件的目录添加到工具->选项->调试->符号。

已选中,is表示我还需要指定源代码的位置。对于Microsoft产品,使用了用于.pdb和.cpp文件的特殊服务器,但我使用的库(开放场景图)当然不是Microsoft库,因此它不在其服务器上!如果库来自Microsoft,我将不得不这样做:。开放场景图当然没有这样的内容。PDB文件本身指向源代码(事实上二进制文件指向PDB),因此如果您自己构建了一些东西,并且之后没有移动源代码和/或PDB,那么Visual Studio应该会自动查找这些东西。如果PDB不在其原始位置,则应将符号路径(我提到的设置)设置为指向它们。我想如果VS找不到源文件,它会提示您输入源文件。说这句话,我发现这是相当微妙的。。。我的建议是运行Process Monitor,看看VS在寻找什么,在哪里!当它不起作用时,我就是这么做的。终于让它起作用了。是的,事实上,只需在调试模式下从代码构建第三方,然后将库的DLL和pdb生成位置链接到主项目。Visual Studio打开属于库的.cpp文件。非常感谢你的帮助!