我想用c#编写以下代码。
a) 模拟内存泄漏的小型控制台应用程序。
b) 小型控制台应用程序,它将调用上述应用程序并立即释放它,模拟管理内存泄漏问题。
换句话说,应用程序(b)将不断调用并释放应用程序(a),以模拟如何遏制“叛逆”内存泄漏应用程序,而不解决应用程序(a)的根本原因。
应用程序 (a) 和 (b) 的一些示例代码将非常有帮助。
Thanks
泄漏的应用程序可能如下所示:
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();
}
看看进程的属性 http://msdn.microsoft.com/en-us/library/system.diagnostics.process_properties(v=VS.100).aspx班级。有几个返回进程消耗了多少内存。您也许可以使用其中之一来有条件地终止该进程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)