|
|
1
34
使用Valgrind及其工具Massif。其示例输出(其一部分):
因此,您将获得详细信息:
另外,我刚读到你在Windows上。不过我会留下答案,因为它给出了一幅图片,说明了您可以从一个可能的工具中获得什么。 |
|
|
2
21
微软拥有完善的内存跟踪功能。然而,由于某些原因,它们在开发人员社区中并不是很有名。这些是CRT调试函数。好的起点是 CRT Debug Heap functions . 有关更多详细信息,请查看以下链接 |
|
|
3
17
对于一个通用C++内存跟踪器,您需要重载以下内容:
棘手的一点是获取有用的信息,重载运算符只有分配器的大小信息和删除的内存指针。答案之一是使用宏。我知道。肮脏的示例-放置在包含在所有源文件中的标题中:
并使用以下内容创建源文件:
只有在类作用域中未定义任何新运算符时,上述操作才有效。如果您在类范围内有一些,请执行以下操作:
并将“新类型”替换为“新类型”,但这可能需要更改大量代码。 由于它是一个宏,删除内存跟踪器非常简单,因此标题变为:
以及实施文件:
|
|
|
4
4
|
|
|
5
0
在MacOSX上,您可以使用代码分析工具Shark来实现这一点,IIRC。 |
|
|
6
0
在Xcode上,您可以使用工具来跟踪分配、VM使用和其他几个参数。主要受iOS开发者欢迎,但值得一试。 |
|
|
7
0
|
|
|
8
0
VisualStudioIDE具有内置的堆分析支持(自2015年以来),这可能是最容易开始的。它具有随时间变化的堆使用情况的图形视图,并且可以按函数/方法跟踪分配。
CRT还具有调试和概要文件支持,这更详细、更低级。您可以使用其他工具跟踪数据并绘制结果:
特别是看
|
|
|
lpt · 外语中的词云或可视化 8 年前 |
|
|
Fedor Nikitin · 如何获取Bokeh热图中点击位置的标签 8 年前 |
|
|
Forrest · Matlab-散点图不同颜色的多类 8 年前 |
|
|
user3363813 · 使用可变时间设置动画 8 年前 |
|
|
Paridhi · 使用Python数据框绘制折线图 8 年前 |
|
|
Luv · 如何在R中的同一图形中显示并排条形图和堆叠条形图? 8 年前 |