2010-12-15 50 views
1

识别VB.NET 3.5 Windows应用程序的内存泄漏的最佳方法是什么?使用SQL Server 2005识别VB.NET Windows应用程序中的内存泄漏

+0

有几个问题:你为什么认为你有内存泄漏?你使用COM对象吗?你使用哪个版本的VS? – 2010-12-15 11:17:04

+0

与2008年一样,我之所以问这个问题,是因为在我的应用程序中,随着越来越多的人试图访问它,它们的速度会变得非常缓慢 – Amit 2010-12-15 11:21:28

+0

假设人们并不是都坐在一台电脑上。如果它是一个Winforms应用程序,“越来越多的人”都在自己的机器上使用自己的内存。您的服务器上有内存泄漏或可伸缩性问题。你如何获取数据到你的应用程序? – Bill 2010-12-15 14:53:21

回答

3

泄漏的窗口句柄是Winforms应用程序中常见的不幸事件。通过调用Controls.Clear()或Controls.Remove()而不在被删除的控件上调用Dispose()来引发。您可以使用Taskmgr.exe,进程选项卡进行故障排除。查看+选择列并勾选USER对象,GDI对象和句柄。在您的应用运行时观察这些列的值。如果您看到USER对象稳步攀升,那么您应该在控件上调用Dispose()。攀爬GDI对象往往是你不处理的位图。

如果不能平移,那么内存分析器是您的下一个资源。花一个体面的钱。