我有一個應用程序有時會在退出時導致訪問衝突。這是相當不可預測的,迄今爲止,所有找到這個錯誤的嘗試都是不成功的。這個錯誤是無害的,因爲沒有數據丟失,所以我在考慮是否有可能隱藏它。隱藏另一個應用程序的訪問衝突
是否有可能讓另一個應用程序啓動錯誤的應用程序並捕獲訪問衝突異常?如果是,如何?
在此先感謝!
我有一個應用程序有時會在退出時導致訪問衝突。這是相當不可預測的,迄今爲止,所有找到這個錯誤的嘗試都是不成功的。這個錯誤是無害的,因爲沒有數據丟失,所以我在考慮是否有可能隱藏它。隱藏另一個應用程序的訪問衝突
是否有可能讓另一個應用程序啓動錯誤的應用程序並捕獲訪問衝突異常?如果是,如何?
在此先感謝!
是的,如果其他應用程序是調試器。這是一個不重要的工作量,要成爲調試器,您需要使用DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS標誌,請參閱CreateProcess flags瞭解更多信息。
一旦您是該流程的調試器,您將有機會處理所有異常。
你也可以附加到過程,因爲它關閉之前調試器(假設你知道當這個事情發生)推出的越野車應用程序作爲一個子進程之前DebugActiveProcess
呼叫SetErrorMode(SEM_NOGPFAULTERRORBOX)
。
錯誤模式被繼承到子進程,並且此特定標誌將防止出現崩潰對話框。