【问题标题】:Memory profiling a .NET 3.5 running process内存分析 .NET 3.5 运行进程
【发布时间】:2012-10-03 00:05:45
【问题描述】:

是否有一个工具可以附加到 .NET 3.5 中的正在运行的 进程并拍摄快照?

我查看了.NET Memory profilerdotTrace memoryRedGate ANTS profiler,但似乎没有一个能够做到。

.NET 内存分析器和 ANTS 只能附加到 .NET 4.0 进程,而 dotTrace 内存似乎无法附加到正在运行的进程。


更新

操作系统是 Windows Server 2003 (R2)。

【问题讨论】:

  • 如果您在 Windows Vista 或更高版本中运行,您可以使用任务管理器来转储进程。然后您可以将此转储文件加载到 .NET Memory Profiler 中(我一直这样做....)
  • @Asher 它是否适用于 .NET 3.5?如果是这样,请添加答案。操作系统为 Windows server 2003。
  • 会的。在 Windows Server 2003 中,内置的 Windows 任务管理器没有为进程创建转储的选项,但您可以使用 Process Explorer 来执行此操作:technet.microsoft.com/en-us/sysinternals/bb896653.aspx

标签: .net performance memory memory-leaks profiling


【解决方案1】:

正如您在问题中提到的,ANTS 可以与 .NET 4.0 或更高版本一起使用。你要做的是forcing your application to use .NET 4,这不需要你重新编译代码。它只是强制应用程序使用 .NET 4 运行时。

【讨论】:

  • -1。你需要阅读这个问题。一个进程正在运行 .NET 3.5.
  • @Aliostad 我猜你的意思是用 .NET 3.5 编译器编译的进程显然可以在 .NET 4.0 运行时下运行。据我所知,.NET 4.0 Runtime 或更高版本可以为所欲为。
【解决方案2】:

Telerik JustTrace 中的内存分析器将拍摄 2.0/3.5 应用程序的快照。您可能会收到一条警告,指出它不会附加分析器,但如果您这样做,JustTrace 将附加一个调试器以获取相同的信息。 注意:这只适用于内存分析器,而不是性能分析器。

【讨论】:

    猜你喜欢
    • 2011-03-28
    • 2022-01-16
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 2011-08-10
    • 2011-10-25
    • 1970-01-01
    相关资源
    最近更新 更多