调试outofmemoryexception
在我修复的一个小型ASP.NET / C#Web应用程序的错误修复中,我遇到了OutOfMemoryException。
没有关于在哪里查看的提示,因为这是编译时错误。 我该如何诊断此exception? 我假设这正是内存分析发挥作用的地方? 有小费吗?
谢谢
您应该在OutOfMemoryException发生的时间点对程序进行内存转储,并分析占用大量内存的内容。
Tess Ferrandez在她的博客上有一个出色的How-To系列 。
我可以在这里建议两件事:
1)也许你的机器内存不足。 查看http://digioz.blogspot.com/2008/11/visual-studio-systemoutofmemory.html上的一些想法
2)尝试使用VS命令行实用程序在visual studio之外编译项目并运行msbuild“SolutionfileName.sln”。 你的它还会崩溃吗?
希望有所帮助:)
我希望你的意思是运行时错误,而不是编译时错误。
通常,如果您有一个列表增长,这将保存在静态字段或系统范围的ASP.NET容器中。
您可以在分析器中运行该应用程序,例如:
红门ant剖析器
上面对不起,但对我而言,它发生了3次以上 – Redgate破坏了VS或整个Windows …尝试这种方法 。 我问你问题的根本原因是调试很弱,检查log4net 。 如果(DebuggingFlag == true)Response.Write(“DebugMsg”)也很简单
听起来很简单荒谬可能有用……