如何模拟OutOfMemory异常

2024-06-19

我需要重构我的项目以使其免受OutOfMemory例外。

我的项目中使用了巨大的集合,通过更改一个参数,我可以使我的程序更加准确或使用更少的内存......

好吧,这就是背景。我想做的是循环运行例程:

  1. 使用默认参数运行子例程。
  2. 抓住OutOfMemory异常,请更改参数并再次尝试运行。
  3. 执行第二点,直到参数允许运行子例程而不引发异常(通常,只需要进行一项更改)。

现在,我想测试一下。我知道,我可以扔OutOfMemory我自己例外,但我想模拟一些真实情况。

所以主要问题是:
有没有办法为我的程序设置某种内存限制,达到该限制后OutOfMemory会自动抛出异常吗?
例如,我想为我的整个程序设置一个限制,比如说400MB内存,以模拟系统中有这么多可用内存时的情况。
能做到吗?


这看起来像是一份工作...系统运行时内存故障点.

http://msdn.microsoft.com/en-us/library/system.runtime.memoryfailpoint.aspx http://msdn.microsoft.com/en-us/library/system.runtime.memoryfailpoint.aspx

我认为链接中的示例适合您的情况。设置内存故障点达到您需要的任何级别,然后赶上内存不足异常并相应地调整您的输入参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何模拟OutOfMemory异常 的相关文章

随机推荐

  • rightBarButtonItem 信息按钮,右侧没有空格

    我有一个UIViewController设置为在其右侧显示一个信息按钮UINavigationItem像这样 UIButton infoButton UIButton buttonWithType UIButtonTypeInfoLight
  • 异常行为

    我是 C 的新手 小代码示例如下 int main int argc char argv char ch1 int int1 cin gt gt ch1 cin gt gt int1 cout lt lt ch1 lt lt n cout
  • 如何在CloudFormation模板中描述AWS Lambda函数测试事件?

    我在 CloudFormation 模板中描述了现有的 AWS Lambda 函数 然后我面临下一个问题 在我们的 Lambda 中 我们配置了一些测试事件 这有助于我们验证一些用例 我的意思是下面屏幕截图中的功能 但我没有看到任何将这些测
  • Python3将模块从文件夹导入到另一个文件夹

    我的结构字典是 mainFolder folder1 init py file1 py file2 py folder2 init py file3 py file4 py setup py init py 我需要将 file4 py 从f
  • 在打印 CSS 上在每个页面周围绘制边框?

    打印时我需要在每个页面周围绘制边框 我最初是使用带有分页符的 div 来完成此操作 例如 media print contentContainer position inline height 98 width 100 top 0px le
  • 是否可以从另一个方法传递 args[] 来调用 main 方法?

    我试图从另一个传递参数的方法调用类的主要方法 就像从命令行运行该类时一样 有没有办法做到这一点 您可以致电main方法就像您调用任何其他 静态 方法一样 MyClass main new String arg1 arg2 arg3 Exam
  • 可升级读锁的优点?

    我想知道使用可升级读锁与执行这些步骤相比有什么优势 获取读锁 检查条件以查看是否需要进行写锁定 释放读锁 采取写锁定 执行更新 释放写锁 与获取可升级读锁相比 执行上述步骤的一个明显缺点是 步骤 3 和步骤 4 之间存在一个时间窗口 其中另
  • 自动检测内部/外部开发环境

    我们使用以下函数来自动检测我们是在内部机器上还是在实时服务器上 然后为各种组件选择适当的配置 function devIsLocal res false http host SERVER HTTP HOST if http host loc
  • 根据条件延迟 Celery 任务

    有什么办法可以根据条件延迟 Celery 任务的运行吗 在它从计划变为活动之前 我想执行快速检查 看看我的机器是否可以根据提供的参数和当时机器的状态运行该任务 如果不是 它会暂停计划队列并等待 直到满足条件 我环顾了以下几点 但似乎没有解决
  • 如果浏览器在 asp .net 中关闭,请从浏览器中注销?

    我的要求有点复杂 用户正在使用 Web 浏览器访问数据库 而在访问数据库时 如果用户关闭活动页面而不是注销会话 该会话需要自动注销 有人可以指导我如何做这个吗 我在母版页中使用了jquery onbeforeunload 我收到消息离开页面
  • 有没有办法监控页面上运行的 JavaScript 函数?

    有没有办法查看页面上正在执行哪些功能 如果我在页面上加载外部脚本 是否可以动态更改函数的功能或阻止其运行 HTML5 http www w3 org TR html5 scripting 1 html establish script bl
  • Python 内置对象的 __enter__() 和 __exit__() 在哪里定义?

    我读到每次使用 with 时都会调用该对象的 enter 和 exit 方法 我知道对于用户定义的对象 您可以自己定义这些方法 但我不明白这对于 打开 等内置对象 函数甚至测试用例是如何工作的 这段代码按预期工作 我假设它使用 exit 关
  • 有没有一种从 unsigned char* 转换为 char* 的好方法?

    那些天我读了很多关于reinterpret cast lt gt 以及应该如何使用它 并在大多数情况下避免使用它 虽然我明白使用reinterpret cast lt gt 投射自 说unsigned char to char is 实施定
  • 用于在链表中查找结点的生产代码

    我在一次采访中被问到这个问题 我被要求编写代码 用于在 O 1 空间和线性时间的生产环境中在链表 其形式为 Y 形式 双臂不一定相等 中查找结点 我想出了这个解决方案 我以前在某处见过 1 Measure lengths of both l
  • 通过 SO_RCVTIMEO 套接字选项在 Ruby 中设置套接字超时

    我试图通过 SO RCVTIMEO 套接字选项在 Ruby 中设置套接字超时 但它似乎对任何最近的 nix 操作系统都没有影响 使用 Ruby 的 Timeout 模块不是一个选择 因为它需要为每个超时生成和连接线程 这可能会变得昂贵 在需
  • 移动影片剪辑时的视觉错误

    在我尝试创建一个简单的类似乒乓球的游戏时 我遇到了一个非常奇怪的 有时甚至是严重的视觉错误 当我设置球 Flash CS 5 5 库 MovieClip 以相当快的速度在屏幕上移动时 我注意到有时球的边缘会在其移动方向上被短暂切断 当它发生
  • putc 和 ungetc 和有什么区别?

    int ungetc int c FILE fp 将字符 c 推回 fp 并返回 c 或EOF对于一个错误 其中 intputc int c FILE fp 将字符 c 写入文件 fp 并返回写入的字符 或者EOF对于一个错误 这些是 K
  • jQuery Mobile - 停止缓存

    就我而言 链接加载到特殊 div 的包装器中 这些包装器是其链接的父级 我通过pageload event 当 JQuery Mobile 执行 AJAX 请求时一切正常 但是如果我点击访问的链接 jquery mobile不会发送请求 而
  • 缓存 firestore 中 get 的第一个实现

    我希望 firestore 每次都先从缓存中获取数据 根据 Firestore 文档 传递 缓存 或 服务器 选项必须启用相同的功能 下面的例子 db collection cities where capital true get cac
  • 如何模拟OutOfMemory异常

    我需要重构我的项目以使其免受OutOfMemory例外 我的项目中使用了巨大的集合 通过更改一个参数 我可以使我的程序更加准确或使用更少的内存 好吧 这就是背景 我想做的是循环运行例程 使用默认参数运行子例程 抓住OutOfMemory异常