JetBrains DotMemory(内存分析工具) v2024.2.5官方版.NET内存分析器,支持 Visual Studio 2022、2019、2017、2015 和 2013。

dotMemory 2024官方版是一款适合各种工作流的.net内存分析工具,可以分析各种 .NET 和 .NET Core 应用程序的内存使用情况:桌面应用程序、Windows 服务、ASP.NET Web 应用程序、IIS、IIS Express、任意 .NET 进程等,无论是与 JetBrains Rider 和 Visual Studio 集成,还是与独立的单元测试运行器配合使用,都能够提供出色的支持,此外,软件支持持续集成,使得开发者能够更好地进行代码优化和性能提升,目前已经正式支持 Visual Studio 2022、2019、2017、2015 和 2013。

通过JetBrains dotMemory,开发者可以在编写代码的同时轻松地进行内存分析,以便及时发现潜在的内存问题并进行修复,这种无缝集成的方式为开发者提供了更加便捷和高效的工作流程,此外,软件还提供了丰富的断言和验证工具,使你能够轻松地编写针对特定内存行为的测试用例,开发者们可以使用这些工具来检查对象是否正确创建和销毁,确认引用是否被正确释放,以及验证内存分配是否符合预期,欢迎有需要的开发者朋友们下载使用。

JetBrains dotMemory

dotMemory 2024.2.5新功能

一、改进的实例搜索

我们在 Instances(实例)视图中添加了新的筛选选项:

1、按字符串值搜索:在筛选器字段中输入任意字符串值,dotMemory 将高亮显示匹配的字符串。这有助于根据内容查找特定字符串实例。

2、字符串值的正则表达式支持:使用正则表达式进行更高级的搜索。例如,^nAsso.{5,}ID$ 与 nAssociatedObjectID.nAssociatedObjectID 一致。

3、按对象地址搜索:您还可以通过内存地址搜索对象实例。这适用于直接跟踪特定对象。

这些功能在独立版 dotMemory 和 JetBrains Rider 中的 dotMemory 中可用。

二、Linux 和 macOS 版 dotMemory 的改进

Linux 和 macOS 版 dotMemory 获得了此前仅在 Windows 上可用的功能:

1、自动内存检查:Linux 和 macOS 版 dotMemory 获得了 Inspections(检查)视图,此视图可以显示多个自动检测到的内存问题。

2、跨工作区快照比较:现在,您可以比较来自不同分析会话的快照。

这些功能在独立版 dotMemory 和 JetBrains Rider 中的 dotMemory 中可用。

三、使用旭日图直观呈现调用树

现在,Call Tree(调用树)可以显示为旭日图,高亮显示分配最多内存的函数。这项功能在独立版 dotMemory(Linux 和 macOS)和 JetBrains Rider 中的 dotMemory(Windows、Linux 和 macOS)中可用。

四、对 MAUI 应用程序的支持

现在,您可以分析基于 MAUI 框架的应用程序。

目前,dotMemory 支持分析 Windows 上以 .NET 7.0+ 为目标的 WinUI 应用程序。

支持适用于独立 dotMemory 以及集成到 Rider 和 ReSharper 中的 dotMemory。

五、对冻结对象堆的支持

关于冻结对象堆中不可变对象的信息显示在时间线、 Heap Fragmentation(堆碎片)图和 Generations(生成)视图上。

六、JetBrains Rider 中的快照分析

2023.2 之前,您在 Rider 中使用 dotMemory 时只能进行内存分配分析。在 2023.2 中,您可以收集内存快照并在 Rider 中分析,就像在独立版本的 dotMemory 中一样。

1、快照分析适用于 Windows、Linux 和 macOS。

2、在 Windows 上,您还可以导入并分析进程转储。

3、部分功能和视图不可用,例如自动快照检查和创建堆栈跟踪视图。

七、对 Windows ARM64 的支持

现在,您可以在 ARM64 CPU 版本的 Windows 上使用 dotMemory。这适用于所有版本:独立版 dotMemory、Rider 中的 dotMemory、Visual Studio 中的 dotMemory 和 dotMemory 命令行工具。

JetBrains dotMemory应用场景

1、检查对象

检查特定类型的对象是找到代码中内存泄漏位置的主要方法。借助 dotMemory Unit,您可以根据几乎任何条件指定一系列对象,计算其数量和大小,并在断言中使用此信息。

2、检查内存流量

当您只需评估在测试中分配的内存量时,可以使用 AssertTraffic 属性。您可以通过这个灵活的属性根据对象类型、接口或命名空间筛选流量。

3、比较快照

与在 dotMemory 分析器中类似,检查点不仅可用于流量断言,还可用于多种快照比较。

4、在 dotMemory 中持续分析

某些内存问题仍需要在 dotMemory 中进一步进行人工调查。需要时,只需设置规则,将自动创建在 dotMemory 中进行进一步分析的工作空间。

软件功能

1、支持各种 .NET 应用程序

使用 dotMemory,您可以分析基于任何受支持版本的 .NET Framework、.NET Core、.NET、ASP.NET Web 应用程序、IIS、IIS Express、Windows 服务、通用 Windows 平台应用程序等的应用程序。 在 macOS 和 Linux 上,dotMemory 只能作为 JetBrains Rider 的一部分或命令行分析器使用。

2、支持原始内存转储

dotMemory 允许您导入使用任务管理器或进程资源管理器获取的原始 Windows 内存转储,并将它们作为常规内存快照进行分析。 这样,您可以充分利用自动检查、保留图和其他复杂的 dotMemory 功能。

3、阳光图

了解内存如何在应用程序中保留对于成功优化内存至关重要。 在此视图中,支配项(在内存中专门保留其他对象的 对象)的层次结构显示在旭日图上。

只需快速查看图表,就可以找出哪些对象对您的应用程序至关重要,并评估最大的结构:支配项保留的内存越多,中心角越大。

要获取特定支配项的保留路径,请点击相应的弧。 双击支配项将放大图表,允许您更详细地查看此支配项保留的对象。

4、Visual Studio 与 Rider 集成

dotMemory 与 JetBrains Rider 集成,允许您进行实时内存分配跟踪、指定时间间隔的分配分析,等等。 需要时,您可以直接从 Visual Studio 启动内存分析会话。

稍后,您可以从 dotMemory 对象集中的某个类型导航到 Visual Studio 中的类型声明。

5、自动快照

有时,您可能只有当某个条件成立时才有兴趣抓取快照。 因此,dotMemory 可以自动完成抓取快照的过程。 当应用程序的内存消耗大幅增加,或手动抓取快照变得棘手时,这尤其有用。 只需设置特定条件,并在满足条件后自动收集快照。

6、带有实时数据采集的时间线视图

监控应用程序消耗的内存,获取快照并一键进行比较。

7、多个数据视图

从多个视图检查堆中的对象。 想知道对象如何相互关联? 它们引用了什么对象以及通过哪些字段? 想知道哪些调用创建了这些对象? 没问题! dotMemory 提供了查看每种情况的视图。

8、比较内存快照

比较两个快照是找出引起内存泄漏的对象的主要方法。 使用比较视图可以查看在快照之间创建的对象数量以及收集的对象数量。

9、简单而全面的 UI

虽然内存分析一直以来都只是专业人士的地盘,但 dotMemory 独特的用户界面大大降低了这项工作的门槛,使内存分析变得简单明了。 您只需从上到下,从一组对象向下移动到特定实例,直到找出内存问题的真正原因。

10、分析内存流量

过多分配和垃圾回收可能意味着显著的内存管理开销。 使用流量视图可以了解在应用程序中最频繁创建/收集的对象,以及导致此内存流量的函数。

11、强大的自动检查

dotMemory 可以自动扫描快照,查找有无常见类型的内存问题,例如,字符串重复、稀疏数组、泄漏事件处理程序或 WPF 绑定。 如果您不知道从哪里开始,这些检查可以成为分析快照的良好起点。

12、命令行分析器

dotMemory 绑定了 dotMemory.exe 命令行分析器。 使用此工具自动完成分析:使分析成为持续集成生成的一部分,或者简单地加速分析例程(例如,如果您必须定期分析相同的应用程序,并且不希望每次都启动 dotMemory 用户界面)。

软件特色

【容易控制特征分析过程】

使用时间轴视图实时监控应用程序消耗的内存。根据需要收集分配信息。

【控制内存分析】

在不停止分析会话的情况下单击即可获取快照,添加快照以比较或浏览特定时间段内的内存流量。

【收集特征分析数据】

由于具有多个强大的内置检查功能,大多数常见的内存问题只需单击一次即可检测到,无需手动操作。只需获取一个快照,并在指导下优化内存使用。

【深入分析】

为了进行深入分析,多存储器提供了许多不同的应用于内存使用数据的标准,因此您可以从成千上万个不同的角度查看数据,并按您的愿望进行挖掘、骰子、切片或旋转。

【确定流量】

分析特定时间段中的内存流量,以了解过度分配和垃圾收集的原因。确定如何分配和收集对象以及这些分配背后的方法。

JetBrains DotMemory(内存分析工具)推荐理由

1、强大的自动检查功能,为了简化您的任务,JetBrains dotMemory会自动扫描您的快照以查找最常见的内存问题类型。如果不确定从哪里开始,这些检查可能是分析快照的一个很好的起点。

2、分析内存流量,过多的分配和垃圾回收可能意味着大量的内存管理开销。使用流量视图可了解在您的应用程序中最密集地创建/收集了哪些对象,以及哪些函数导致了此内存流量。

3、多种数据视图,从多个视图检查堆中的对象。想知道对象之间的关系吗?他们引用哪些对象以及通过哪些字段?是否想知道哪些调用创建了这些对象?没问题!JetBrains dotMemory具有所有视图。

更新日志

v2024.2.5版本 

dotMemory 2024.2.5亮点包括命令行分析工具、对 .NET 应用程序的支持,以及内存转储分析功能。

1、改进的实例搜索

2、Linux 和 macOS 版 dotMemory 的改进

3、使用旭日图直观呈现调用树

© 版权声明
THE END
喜欢就支持一下吧
点赞43 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容