我们有一个c#.NET应用程序,它有一个内存泄漏。我使用procdump从运行的应用程序的实例从生产机器获取内存转储。生产机器运行32位Windows XP和.NET 4.0。
We have a c# .NET application that has a memory leak in it. I used procdump to get a memory dump from a running instance of the application from a production machine. The production machine is running 32 bit Windows XP, and .NET 4.0.
exe config设置为 4.0
The exe config is set to 4.0
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />当我把转储到我的dev盒子,windows 8.1 64位,并打开它与VS 2013 dump最初打开得很好。但是,当我点击调试管理内存操作时,我收到以下错误消息:
When I pull the dump to my dev box, windows 8.1 64bit, and open it with VS 2013 the dump is initially opened fine. However, when I click the Debug Managed Memory action I get the following error message:
支持在此过程中使用的CLR版本。
Memory analysis is not supported for the CLR version used in this process.
我是新修复Windows和托管内存环境中的内存泄漏,旁边没有涉及的工具。我做了一个google搜索的错误,我得到,没有找到任何东西。任何帮助是赞赏。我很抱歉,如果我缺少一些明显的东西 - Junior Dev这里: - )
I'm new to troubleshooting memory leaks in Windows and managed memory environments, and know next to nothing about the tools involved. I did a google search for the error I get, and didn't find anything. Any help is appreciated. I apologize if I am missing something obvious - Junior Dev here :-)
推荐答案我不知道如果procdump可以使用在.NET中找到内存泄漏。我尝试的一个有效的方法是:使用Windbg和SOS。有两个帖子解释如何使用Windbg + SOS来跟踪.NET内存泄漏:
I don't know if procdump can be used to find a memory leak in .NET. One effective way I tried is: using Windbg and SOS. There are two posts explains how to use Windbg+ SOS to track .NET memory leaks:
如果您不喜欢Windbg,该工具 DebugDiag 也是跟踪内存泄漏的非常有效的工具。
If you don't like Windbg, the tool DebugDiag is also very effective tool in tracking down memory leaks.
更多推荐
分析内存转储找到泄漏
发布评论