0
我正在用QLibrary加載外部dll。在某些情況下,dll只會崩潰(seg。fault)。該DLL不會拋出異常。處理這個問題的最好方法是什麼?我讀到我需要在單獨的進程/線程中運行。這是唯一的選擇嗎?c + + Qt:從dll捕捉段錯誤
乾杯, 米。
我正在用QLibrary加載外部dll。在某些情況下,dll只會崩潰(seg。fault)。該DLL不會拋出異常。處理這個問題的最好方法是什麼?我讀到我需要在單獨的進程/線程中運行。這是唯一的選擇嗎?c + + Qt:從dll捕捉段錯誤
乾杯, 米。
不幸的是,你無法用segfault做任何事情,你可以嘗試在單獨的線程中運行崩潰的代碼,但這有可能讓你泄漏資源或者在應用程序中出現大量不一致的狀態。
如果.dll是你的,我建議嘗試修復段錯誤,如果它不報告它爲bug並嘗試解決它。
最好的方法是找到並解決崩潰。 – 2013-03-26 10:12:47
如果你不控制外部庫,那麼是的,單獨的進程(不是線程)是唯一的選擇。 – 2013-03-26 10:41:14
但是,由於無效參數傳遞到庫中,它可能會崩潰。 – jopa 2013-03-26 11:08:08