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

时间:2018-03-30 09:29:48

标签: c++ debugging visual-studio-2017

我有一个奇怪的问题,可能来自我如何建立我的图书馆,但我在这里寻求一些帮助。 我有一些代码,我在多个程序中使用,所以我将它打包在一个库中。库中的某些对象使用容器。 我希望能够在调试时检查visual studio中这些对象的内容。

其中一个对象"场景"包含一个

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

但是当我检查它时,它真的很难读 instead of a nice view I have this

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

有类似的问题

但是例如,场景salso有一个

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

并且调试器检查器中的输出很好:

inspector here desplays things nicely

我不确定这个的起源,我不太了解检查员是如何工作的,所以我很难诊断出这一点。是因为我建立图书馆的方式吗?我有一个调试库和两种类型的构建版本。

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,我在我的程序的链接器中使用选项/ DEBUG:FULL更正了它。 natvis需要的一些东西会被优化掉。