我正在调查C ++ / WTL应用程序中的一个问题,其中软件的最近更改导致消耗更多内存(在Windows任务栏中查看内存使用情况时)。这只发生在用户在软件中打开某个窗口时(因此我知道问题与代码的这个区域隔离)。更改的性质涉及向关键对象添加另一条信息。因此,现在软件中某些地图的每个键输入都是4部分键,而不是之前的3部分键。所以我的理论是,这导致了更多的值被添加到各种地图,这反过来又消耗了更多的内存。我正在努力确定证明这一点的最佳方法。我应该添加打印出这些地图大小的调试代码吗?如果事实证明这不是一个问题(这些更改可能会在其他地方引起连锁反应),那么我在调试这样的问题时会从哪里开始?我不认为这是一个内存泄漏问题(我认为这是可能的),而是一个问题,即从内存的角度来看,增加数据结构的复杂性会引起连锁反应。