我有一個WinForms應用程序,依靠幾個庫,我有限制控制,如Forms.Images和Forms.WebBrowser。零星的突然內存泄漏導致我的應用程序崩潰。這些並不是長時間內存泄漏。它們是隨機的,通常是不同的COM例外,並且無法預測 - 有時會在一小時後發生,有時會在一天後發生。從內存中恢復 - 在WinForms中的泄漏崩潰
我至少暫時解決問題的方法是讓另一個應用程序通過使用GetProcessesByName()驗證第一個應用程序正在運行。然而,這是有問題的,因爲正在進行的過程有時會崩潰但不會結束。我只是收到一條WER消息(儘管WER在計算機上關閉)。更糟糕的是,當第一個進程崩潰並且內存泄漏建立時,第二個進程檢查應用程序也會崩潰。然後沒有任何工作,直到我手動重新啓動整個shabang。
1)有沒有人知道一個有效的方法來讓Process A檢查Process B是否正在運行,而Process A沒有受到導致Process B崩潰的內存問題? 2)如果上述不可能或者太難,任何人都知道任何可以用來確保進程在沒有任何未完成WER錯誤的情況下運行的第三方工具,那麼如果檢測到WER錯誤,那麼重新啓動進程,並且可以承受最大的內存?
謝謝!