从命令行运行dotMemory

时间:2016-05-19 18:45:23

标签: resharper jetbrains-ide

有没有办法直接从带命令行的命令行运行dotMemory?我已经同时使用了dotCover和dotTrace,并且它们实现了这个实现有很大不同(dotCover直接来自命令行,而dotTrace需要生成的xml配置)。我见过dotMemoryUnit,但它似乎不接受其他参数,也没有找到任何其他有关如何执行此操作的信息。

1 个答案:

答案 0 :(得分:0)

dotMemory Unit

如果您运行测试,dotMemory Unit可能更适合您的需求。运行dotMemoryUnit.exe -targetExecutable =“运行测试的应用程序”,您的应用程序将在分析器下启动。有关doMemoryUnit.exe命令行参数的更多详细信息,您可以找到here

在你的测试中你可以调用dotMemoryApi.SaveCollectedData方法,它会保存一个工作区,其中包含来自一个测试的所有数据,但如果没有内存快照,则不会保存任何内容。

独立dotMemory

dotMemory有一种解决方法。如果运行dotMemory.exe /p:path_to_xml_configuration.xml,它将自动启动并运行分析。 注意:dotMemory将删除/ p键中传入的文件,因此请复制它。 您熟悉dotTrace xml配置,因此您需要创建几乎相同的配置但替换

<Info type="PerformanceInfo"> 

这个节点

<Info type="MemoryInfo">
  <CollectAllocations>...</CollectAllocations>
</Info>

CollectAllocations值可以是EnabledPostponed - dotMemory不会立即开始收集分配数据,但可以稍后手动或通过分析API打开它。或者EnabledImmediatly(是的,有错字) - 如果在手动(不是在Profiling API)模式下运行,将从头开始收集分配数据。

<强> [编辑]

dotMemory命令行工具

新的免费工具允许使用命令行

获取快照
dotMemory.exe get-snapshot MyApp --save-to-dir=C:\Snapshots

阅读此博客文章了解详情 https://blog.jetbrains.com/dotnet/2017/05/16/dotmemory-command-line-tools/

相关问题