调试outofmemoryexception

时间:2009-04-25 20:15:10

标签: c# .net asp.net debugging

在我修复的一个小型ASP.NET / C#Web应用程序的错误修复中,我遇到了OutOfMemoryException。

没有关于在哪里查看的提示,因为这是编译时错误。我该如何诊断此例外?我假设这正是内存分析发挥作用的地方?有什么提示吗?

由于

4 个答案:

答案 0 :(得分:5)

你应该在OutOfMemoryException发生的时间点对程序进行内存转储,并分析占用大量内存的内容。

Tess Ferrandez在她的博客上有一个excellent How-To series

答案 1 :(得分:1)

我可以在这里建议两件事:

1)也许你的机器内存不足。查看http://digioz.blogspot.com/2008/11/visual-studio-systemoutofmemory.html

上的一些想法

2)尝试使用VS命令行实用程序在visual studio之外编译项目,然后运行msbuild“SolutionfileName.sln”。你的它还会崩溃吗?

希望有所帮助:)

答案 2 :(得分:1)

我希望你的意思是运行时错误,而不是编译时错误。

通常,如果您有一个列表增长,这将保存在静态字段或系统范围的ASP.NET容器中。

您可以在分析器中运行该应用程序,例如:

Red gate ants profiler

答案 3 :(得分:1)

对不起上面,但对我来说它发生了3次以上 - Redgate破坏了VS或整个Windows ...... 试试这个approach。 我认为问题的根本原因是调试很弱,请检查log4net。 也很简单 if(DebuggingFlag == true) Response.Write(“DebugMsg”)

可能有用,因为听起来简单而荒谬......