C++ C++;静态库pdb未合并到DLL pdb

C++ C++;静态库pdb未合并到DLL pdb,c++,debugging,visual-studio-2008,static-linking,pdb,C++,Debugging,Visual Studio 2008,Static Linking,Pdb,我正在使用VisualStudio2008 我有一个C++的.exe文件A.exe,使用C++ DLL B.DLL。B.DLL静态链接到C++ LIB C.LIB,编译时有一个C.PDB文件。 我知道B.pdb应该包含来自C.pdb的所有调试信息 现在,当我调试时,A.exe、B.dll和B.pdb都在同一个目录中。我可以单步执行B.dll代码,但不能单步执行C.lib代码,因为VisualStudio说调试信息未加载 它们都是调试生成的。我仔细检查了编译/链接设置,但没有发现问题。我的心理调试

我正在使用VisualStudio2008

我有一个C++的.exe文件A.exe,使用C++ DLL B.DLL。B.DLL静态链接到C++ LIB C.LIB,编译时有一个C.PDB文件。 我知道B.pdb应该包含来自C.pdb的所有调试信息

现在,当我调试时,A.exe、B.dll和B.pdb都在同一个目录中。我可以单步执行B.dll代码,但不能单步执行C.lib代码,因为VisualStudio说调试信息未加载


它们都是调试生成的。我仔细检查了编译/链接设置,但没有发现问题。

我的心理调试器说B实际上是一个使用C++/CLI项目创建的混合模式程序集。由于无法单步从托管代码转换为本机代码,因此遇到了问题,因此需要在本机代码中设置断点。而且你忘了在你的C#项目中启用非托管代码调试。@HansPassant似乎你的答案完全正确。是否要将其作为答案发布?猜测太多,请先修复您的问题。如果您已签出所有其他内容,请尝试关闭Visual Studio,清除所有Visual Studio生成的文件(.vs文件夹、.suo和.user文件、bin文件夹、obj文件夹)。重新编译并重试。我还没有研究根本原因,但正如我所看到的许多其他调试器问题一样,在没有其他解决方法的情况下,今天这为我解决了问题。-Visual Studio 2015(14.0),带有VS 2013 C#项目,使用VS 2013 C++/cli项目,依赖于一组非托管C++11库。