检测进程运行内存泄漏

时间:2014-02-05 12:50:36

标签: .net vb.net process detect

嘿,我有这个控制台应用程序,需要运行更长的时间,其中一个功能是检测某个进程,但它在该部分泄漏。

我在计时器中使用它进行检测:

Private Sub OnTimedEvent() Handles mytimer.Elapsed
        If Process.GetProcessesByName(Gname).Length = 1 Then
            misRunning = True
        Else
            misRunning = False
        End If
    End Sub

GC.Collect会有所帮助,但我不确定调用GC.Collect是正确的做法。

1 个答案:

答案 0 :(得分:0)

您的代码OnTimedEvent中可能出现的重新入侵问题在上一次通话结束前触发

尝试在输入方法时禁用计时器,然后重新启用它:

Private Sub OnTimedEvent() Handles mytimer.Elapsed
    myTimer.Enabled = False
    If Process.GetProcessesByName(Gname).Length = 1 Then
        misRunning = True
    Else
        misRunning = False
    End If
    myTimer.Enabled = True
End Sub