Visual Studio诊断 - 内存使用情况快照显示0分配

时间:2017-11-06 16:52:16

标签: c++ visual-studio-2015 native memory-profiling

我长时间忽略了这个工具,因为它只是.NET。

根据MSDN,诊断工具适用于本机代码,在Visual Studio 2015中的Debug中编译。

我跟随: https://docs.microsoft.com/en-us/visualstudio/profiling/memory-usage

我在“内存使用”选项卡下的“诊断工具”窗口中启用“堆分析”。然后我重建所有项目,确保每个项目的工具集都是“Visual Studio 2015”,并确保为每个dll或exe项目构建PDB。当客户端连接到我的进程时,我在main处设置断点,然后在该客户端发送数据。两者之间有数以千计的新呼叫。每次我点击“拍摄快照”。单击拍摄快照时,会出现一行包含时间,分配和堆大小。后两者被归零。

如果我对我的一个单元测试做同样的事情,它们会被填写,我可以按照文档中的描述向下钻取。

我应该寻找什么才能让它与我的主项目一起工作? 是否有某些链接设置?我正在构建静态库和动态库是否重要?有什么特别要寻找的吗?

1 个答案:

答案 0 :(得分:1)

我有类似的问题(vs2015或vs2017在堆上显示0分配)。 然后我注意到我的gflags启用了整页堆验证(可以通过gflags / p检查)。

我刚刚禁用它,现在堆快照又开始工作了: - )