c# : simulate memory leaks

标签 c# memory memory-leaks

我想用 c# 编写以下代码。 a) 模拟内存泄漏的小型控制台应用程序。 b) 小型控制台应用程序,它将调用上述应用程序并立即释放它,以模拟管理内存泄漏问题..

换句话说,(b) 应用程序将不断调用和释放应用程序 (a) 来模拟“叛逆”内存泄漏应用程序是如何被遏制的,而没有解决应用程序 (a) 的根本原因。

应用程序 (a) 和 (b) 的一些示例代码会很有帮助。

谢谢

最佳答案

泄漏的应用程序可能如下所示:

public static void Main()
{
  var list = new List<byte[]>();
  while (true)
  {
    list.Add(new byte[1024]); // Change the size here.
    Thread.Sleep(100); // Change the wait time here.
  }
}

调用应用程序可能如下所示:

public static void Main()
{
  Process process = Process.Start("leaker.exe");
  process.Kill();
}

看看properties on the Process类(class)。有几个返回进程消耗的内存量。您也许可以使用其中之一来有条件地终止该进程。

关于c# : simulate memory leaks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3019239/

相关文章:

c# - 尝试捕捉不工作

c# - 在 gridview winform 中设置数据源后无法添加新行

c# - 了解使用 Windows native WPF 客户端进行 ADFS 登录

c# - 在发送到服务器之前更改 Webbrowser 发布表单

java - Eclipse 在 Linux 上的 Java 进程中不释放内存

java - Log4j2 - ServletContextListener 中的 ThreadLocal 内存泄漏

iphone - 这里的漏洞在哪里?

C - 简单斐波那契程序中的共享内存

Android大gridview滞后,移动缓慢

java - 了解 Android 应用程序中的内存泄漏