.lib 文件的 VS2015 "no symbols loaded for this document"

VS2015 "no symbols loaded for this document" for .lib file

我有一个在调试中编译的 .dll 文件的问题。它与一个 .lib 文件静态链接,该文件也在调试中编译。所有这些都可以使用源代码。但是,当我 运行 .dll 并将 VS 附加到进程时,它只能单步执行 .dll 自己的函数,而不能单步执行 .lib 中的函数。

在模块视图中,我可以看到所有模块都加载了符号。如何确保 .lib 也有与之关联的符号?据我了解,因为它是静态链接的,所以在编译 "parent" .dll 时应该生成它的符号,对吗?那么在构建 .dll 时我需要做些什么来确保所有函数都可以逐步执行吗?

您需要添加刚刚构建的 LIB 的 pdb 文件的位置,以便调试器在适当的 Tools/Options 部分(通常与输出 LIB 相同的目录)中找到符号。

然后,您可以在相应的 Solution Property 页面中添加源文件的位置:

然后,Visual Studio调试器会找到所有合适的信息。它将加载符号并能够在适当的时候跳转到 LIB 源代码。