Visual Studio 2017 无法检查静态链接库中对象中的 STL 容器

Visual Studio 2017 can't inspect STL containers in objects from statically linked library

本文关键字:对象 容器 STL 链接 静态 2017 Studio 检查 Visual      更新时间:2023-10-16

我有一个奇怪的问题,这可能来自我构建图书馆的方式,但我在这里寻求一些帮助。我有一些我使用的代码,我将其包装在库中。库中的某些对象使用容器。我希望在调试时在Visual Studio中检查这些对象的内容。

这些对象之一"场景"包含

map<std::string,map<std::string, std::shared_ptr<VertexBufferObject>>>

但是,当我检查它时,很难阅读我有这个

,而不是一个不错的视图
map<std::string, std::shared_ptr<Shader>>

有类似的问题

但是,对于Salso的场景而言,Salso有一个

map<std::string,std::shared_ptr<Texture>>

,调试器检查员中的输出很好:

检查员在这里赢得了很好的东西

我不确定这一点的起源,我不太了解检查员的工作原理,所以我很难诊断出来。是因为我建造图书馆的方式吗?我有一个用于两种类型构建的debug库和一个发行库。

如果任何人最终都遇到了同一问题,我通过使用选项/调试:完整的程序链接器中的floce/debug:对其进行了更正。NATVI所需的一些事情将被优化。