17

我正在考虑使用 Visual Studio 附带的单元测试框架构建一些单元测试,以确定资源是否泄漏(或不泄漏)。

目前,我正在评估最新版本的 ANTS Profiler,但我无法确定它是否允许我从代码中强制创建快照(这样我就可以拍摄快照,运行数百次单元测试,强制垃圾收集,并拍摄另一个快照,并将结果保存以供以后分析)。

这可能与 ANTS/Visual Studio 相关,还是我应该与其他分析器一起探索选项?

4

4 回答 4

6

你见过JetBrains的 dotmemory吗?

dotMemory Unit是一个单元测试框架,它允许您编写测试来检查您的代码是否存在各种内存问题。

例如:

当您需要简单地评估在测试中分配的内存量时,您可以使用 AssertTraffic 属性。这个灵活的属性允许您按对象类型、接口或命名空间过滤流量数据。

于 2015-04-16T13:26:55.840 回答
2

JetBrains dotTrace/dotMemory 和 ReSharper 在单元测试和分析方面有更好的集成。

http://www.jetbrains.com/profiler/index.html

不知道ANTS有没有这样的整合,不过可以咨询红门售前对吧?

http://www.red-gate.com/about/all_testimonials.htm

他们确实希望您致电他们以获取更多信息。

于 2010-05-29T02:23:12.037 回答
1

我使用 ANTS 探查器,我发现最方便的是将探查器附加到正在运行的测试过程中,这可能因您使用的测试框架而异。例如,我使用 Resharper 并且进程映像名称被称为:

JetBrains.ReSharper.TaskRunner.CLR...

于 2016-10-03T17:03:07.810 回答
0

对于未来的读者,值得一提的是,您可以使用 ANTS Memory Profiler 从代码中强制创建快照。你需要参考

RedGate.MemoryProfiler.Snapshot.dll

它包含在 ANTS 安装目录中。然后,您可以通过调用来拍摄快照

RedGate.MemoryProfiler.Snapshot.TakeSnapshot("可选快照名称")

完整的细节在这里

于 2013-08-12T12:51:50.513 回答