我有一些编译的C ++库(.lib
,不是我自己编译的),我在自己的C ++项目中链接。我也得到了源代码。
调试时是否可以使用源代码从这些库中进入函数?如何告诉Visual Studio调试器使用这些源代码文件?
我想.lib
文件需要某种调试信息 - 我能否知道他们是否有这些信息?
答案 0 :(得分:2)
Microsoft编译器将调试信息存储在单独的.pdb文件中。当VS加载可执行文件使用的库(比如myLib)时(通过附加到正在运行的实例,或直接在调试器下启动它),它还会搜索myLib.pdb。如果找到它,当您尝试单步执行此功能时,它将首先询问您对应的源的位置。如果正确提供,您将能够进行调试。
没有.pdb文件,我不知道如何在源代码级别调试外部库。
此外,如果没有.pdb文件,但您确实拥有外部库的源代码,是否可以使用调试符号(.pdb文件)重新构建它?