dotMemory的新增功能

该页面指导您完成最新的dotMemory和dotMemory Unit版本中的更新。重点包括命令行分析工具,对.NET Core应用程序的支持以及分析内存转储。

下载
实际使用5天免费试用

控制台分析器的改进2019.2

dotMemory 2019.2停止支持远程分析。为了给您提供足够的替代产品,我们显着改进了dotMemory控制台分析器:

  • 控制台探查器获取命令来探查所有类型的应用程序,包括.NET Core应用程序,IIS Express托管的应用程序,Windows服务以及其他。
  • --trigger-on-activation参数允许在可能的情况下立即拍摄内存快照。如果您想拍摄基准快照并将其用于比较,此功能可能会很有用。
改进的.NET Core 3.0支持

改进了对.NET Core 3.0应用程序2019.2的支持

  • dotMemory可以附加到.NET Core 3.0 Preview 7进程。
  • 支持ASP.NET Core 3.0 Preview 7。
各种改进

各种改进和更改2019.2

  • 您可以为任何应用程序类型设置环境变量。
  • 改进了Visual Studio对ASP.NET Core的支持:正确支持了不同的宿主模型,在启动性能分析会话时考虑了浏览器设置和“ 启用SSL” ,等等。
  • 分析API可以脱离概要分析过程。
  • 不再支持Silverlight和WebDev应用程序。
.NET Core 3.0支持

.NET Core 3.0应用程序分析2019.1

在此版本中,我们添加了人们期待已久的对.NET Core 3.0的支持。

改进了对IDE的导航

改进了对IDE 2019.1的导航

现在,“导航到类型声明”操作不仅可以导航到Visual Studio,还可以导航到JetBrains Rider。

新的分析API

新的分析API 2019.1

您可能知道,dotMemory包含性能分析API,该API用于直接从应用程序的代码控制性能分析会话。在2019.1中,我们从头开始重写了此API,以使其更加用户友好:

  • 我们摆脱了状态机。
  • 我们减少了您必须使用的许多方法。因此,要获取内存快照,只需调用MemoryProfiler.GetSnapshot()
  • 该API作为NuGet包提供
按条件获取快照

改进了按条件2018.3获取快照

性能分析控制器获得了拍摄快照的新条件: 如果总内存使用量超过X MB,则获取快照

改进的时间线图

改进了时间表2018.3

单击该图以获取特定时间点的准确内存数据。

改进的IIS Express配置文件设置

改进的IIS Express分析设置2018.3

现在,配置IIS Express上托管的Web应用程序的默认方法是为dotMemory提供applicationhost.config文件。

支持Visual Studio 2019预览版1

Visual Studio 2019预览版1支持2018.3

dotMemory 2018.3以及ReSharper Ultimate系列的其他产品现在可以安装到Visual Studio 2019 Preview 1中。

分析ReSharper运行配置

分析ReSharper运行配置2018.2

Visual Studio中集成的dotMemory获得了更多的性能分析功能。现在,您不仅可以分析启动项目,还可以分析任何运行配置 :启动项目,任意可执行文件,甚至任何静态方法。

改进的时间表

改进了时间表2018.2

时间线图得到了改进:

  • 现在,该时间表适用于所有类型的应用程序,包括.NET Core,ASP.NET Core,IIS托管的Web应用程序以及其他。
  • 自GC图表以来 ,时间轴获得了新的LOH分配 。该图显示了对大型对象堆的即时内存分配,这对于检测大型对象的过多分配非常有帮助。

要了解更多信息,请参阅我的应用如何分配给LOH?用dotMemory 2018.2找出答案!

改进的用户界面

改进的用户界面2018.1

2018.1版本带来了多个次要的用户界面改进。最重要的更改是重新设计的“ 分析主题”面板。现在,导航分析路径要容易得多。

改进的对象过滤

改进的对象搜索2017.3

在内存快照中搜索特定对象时,使搜索效率更高!现在,您可以使用特殊符号创建复杂的图案。例如,添加!a将从结果中排除所有数组: !a str将返回String但不会返回String[]

.NET核心测试支持

支持.NET Core单元测试Unit 3.0

dotMemory单元现在完全支持.NET Core单元测试。请注意,目前仅在Windows上提供支持。

导入内存转储

导入内存转储2017.2

现在,您可以导入原始Windows内存转储(通常,您可以使用任务管理器或Process Explorer来获取它们)并使用dotMemory的功能对其进行分析。

该功能当前处于Beta状态:尽管它具有100%的功能,但我们无法在Windows和.NET Framework版本的所有可能组合上进行测试。在某些组合中,dotMemory仍可能无法在生成的快照中显示所有预期数据。

更好的UI 2017.2

dotMemory用户界面经过了稍微的重新设计,可以更轻松地浏览分析主题和视图。这项工作的另一个好处是增加了视野。

重做的统治者查看2017.2

对“统治者”视图进行了重新设计,以使其更容易显示应用程序中的关键对象。现在将主控树与主控森伯斯特图表合并。

使用拖放进行附加

通过拖放2017.1配置运行的应用程序

现在,您可以使用拖放将事件探查器附加到正在运行的应用程序。只需将一个特殊图标放到要分析的应用程序窗口上。

命令行分析器

命令行探查器2017.1

dotMemory 2017.1包含dotMemory.exe工具,可让您从命令行进行概要分析。当您需要自动执行收集内存快照的过程时,例如,如果您希望将分析作为连续集成构建的一部分时,该工具将非常有用。

终结对象检查2016.3

dotMemory 2016.3在已终结的对象和排队等待终结的对象上检查您的应用程序。新的检查会在快照概述页面上显示此类对象。

dotMemory Unit 2.2中的改进

dotMemory Unit Unit 2.2、2.3的改进

dotMemory单元版本2.2和2.3带来了一系列改进:

  • 精致的API工作与不支持外的开箱单元测试框架,如在接受新的论据DotMemoryUnitController方法TestStart()TestFailed()
  • 现在,您可以在测试之前放置任意数量的AssertTraffic属性, AssertTraffic任意条件过滤流量。
  • 对象选择查询现在支持开放的泛型类型,如果要获取泛型的所有替换,这将很有用。
  • GetNewObjectsGetSurvivedObjectsGetDeadObjects方法接收接受查询作为参数的重载。这有助于避免额外的GetObjects调用并简化声明。
  • 您可以使用对类型,接口和名称空间的LikeNotLike查询按通配符选择对象。
  • DotMemoryUnit属性中指定用于保存工作空间的目录时,可以使用三个常量。常量写在尖括号中: <User><LocalAppData><CommonAppData> ,分别代表%USERPROFILE%%APPDATA%%LOCALAPPDATA%目录。
  • 改进了关键查询的性能: Type.IsInterface.IsNamespace.Like
  • 从子进程执行查询的测试现在可以正确处理。
下载dotMemory
实际使用5天免费试用