如何在.Net中强制执行OutOfMemoryException

马特·拉夫(Matt Rough)

有时,使应用程序进入不良状况以查看其响应方式会很有帮助。拔下网络电缆或断电之类的事情将向我展示我的应用程序的弹性和工作要做的地方。

为此,我正在尝试找出OutOfMemoryException在.Net中强制执行的最快方法在一个简单的控制台应用程序中执行此操作,将使我能够将这种情况注入正在运行的应用程序中。显然,在处理时还需要考虑其他事项OutOfMemoryExceptions(例如,内存碎片以及垃圾回收器如何分配不同的世代),但这对于本实验的范围并不重要。

更新
为了阐明问题的目的,重要的是要注意,仅仅抛出内存不足异常并没有帮助,因为我想了解当内存压力增加时程序将如何反应。从本质上讲,我希望将GC激进为积极的收集模式,并监视该过程如何影响性能,直到该过程因内存不足异常而终止。

Gameiswar

一个例子来自MSDN ..

下面的示例说明了示例尝试插入导致对象的Length属性超过其最大容量的字符串时,调用StringBuilder.Insert(Int32,String,Int32)方法引发的OutOfMemoryException异常。

using System;
using System.Text;

public class Example
{
   public static void Main()
   {
      StringBuilder sb = new StringBuilder(15, 15);
      sb.Append("Substring #1 ");
      try {
         sb.Insert(0, "Substring #2 ", 1);
      }
      catch (OutOfMemoryException e) {
         Console.WriteLine("Out of Memory: {0}", e.Message);
      }
   }
}
// The example displays the following output:
//    Out of Memory: Insufficient memory to continue the execution of the program.

此外,它还介绍了如何纠正错误。

将对StringBuilder.StringBuilder(Int32,Int32)构造函数的调用替换为任何其他StringBuilder构造函数重载的调用。StringBuilder对象的最大容量将设置为其默认值,即Int32.MaxValue。

使用maxCapacity值调用StringBuilder.StringBuilder(Int32,Int32)构造函数,该值足够大以容纳对StringBuilder对象的任何扩展。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在vb.net中调试强制执行?

来自分类Dev

如何在Perl中强制执行long double

来自分类Dev

如何在Chrome中强制执行504错误

来自分类Dev

如何在Perl中强制执行long double

来自分类Dev

如何在Java中强制执行构造函数

来自分类Dev

如何在GNOME Web中强制执行大文本?

来自分类Dev

如何在Jenkins DSL中强制执行参数排序?

来自分类Dev

如何在matplotlib中的网格内强制执行图?

来自分类Dev

如何在 Antlr 中强制执行某些规则

来自分类Dev

如何在 Java <= 8 中强制执行模块边界

来自分类Dev

如何从域名中删除www并强制执行https?

来自分类Dev

如何在ASP.Net WebForms的DataField上强制执行toUpper?

来自分类Dev

如何在python中从python中强制执行或呈现浏览器中的脚本?

来自分类Dev

Python中的枚举:如何在方法参数中强制执行

来自分类Dev

如何在Spark SQL中强制执行内存中的分块排序?

来自分类Dev

如何在git中强制执行“文件名中没有空格”策略?

来自分类Dev

如何在Spark SQL中强制执行内存中的分块排序?

来自分类Dev

如何在phpstorm中对数组声明强制执行长语法?

来自分类Dev

GHC如何在多线程应用程序中强制执行评估?

来自分类Dev

如何在Play 2.x中强制执行JSON的严格序列化

来自分类Dev

如何在Sublime中强制执行50个字符的提交摘要行?

来自分类Dev

如何在RedShift中强制执行参照完整性?

来自分类Dev

如何在SQL(Postgres)中强制执行过滤器评估顺序?

来自分类Dev

如何在Java中的for循环中的每个update()之后强制执行repaint()?

来自分类Dev

如何在go框架中为不同的测试强制执行测试顺序?

来自分类Dev

如何在视图上强制执行约束,以确保在MSSQL中返回0行

来自分类Dev

如何在for循环中强制执行多个QComboBox中的任何一个的最小索引?

来自分类Dev

我们如何在PHP中强制执行参数类型?

来自分类Dev

如何在函数参数中强制执行类型并避免隐式转换?

Related 相关文章

  1. 1

    如何在vb.net中调试强制执行?

  2. 2

    如何在Perl中强制执行long double

  3. 3

    如何在Chrome中强制执行504错误

  4. 4

    如何在Perl中强制执行long double

  5. 5

    如何在Java中强制执行构造函数

  6. 6

    如何在GNOME Web中强制执行大文本?

  7. 7

    如何在Jenkins DSL中强制执行参数排序?

  8. 8

    如何在matplotlib中的网格内强制执行图?

  9. 9

    如何在 Antlr 中强制执行某些规则

  10. 10

    如何在 Java <= 8 中强制执行模块边界

  11. 11

    如何从域名中删除www并强制执行https?

  12. 12

    如何在ASP.Net WebForms的DataField上强制执行toUpper?

  13. 13

    如何在python中从python中强制执行或呈现浏览器中的脚本?

  14. 14

    Python中的枚举:如何在方法参数中强制执行

  15. 15

    如何在Spark SQL中强制执行内存中的分块排序?

  16. 16

    如何在git中强制执行“文件名中没有空格”策略?

  17. 17

    如何在Spark SQL中强制执行内存中的分块排序?

  18. 18

    如何在phpstorm中对数组声明强制执行长语法?

  19. 19

    GHC如何在多线程应用程序中强制执行评估?

  20. 20

    如何在Play 2.x中强制执行JSON的严格序列化

  21. 21

    如何在Sublime中强制执行50个字符的提交摘要行?

  22. 22

    如何在RedShift中强制执行参照完整性?

  23. 23

    如何在SQL(Postgres)中强制执行过滤器评估顺序?

  24. 24

    如何在Java中的for循环中的每个update()之后强制执行repaint()?

  25. 25

    如何在go框架中为不同的测试强制执行测试顺序?

  26. 26

    如何在视图上强制执行约束,以确保在MSSQL中返回0行

  27. 27

    如何在for循环中强制执行多个QComboBox中的任何一个的最小索引?

  28. 28

    我们如何在PHP中强制执行参数类型?

  29. 29

    如何在函数参数中强制执行类型并避免隐式转换?

热门标签

归档