Qt BUG 沒釋放資源導致軟體退出時崩潰

2021-10-08 02:20:15 字數 456 閱讀 5498

測試環境:win10、qt creator 4.11.1、5.14.2版本sdk

1.問題:軟體退出時發現有dmp檔案生成,意味著軟體有崩潰現象。

分析:一般軟體退出時產生產生崩潰檔案,多數是因為資源沒有釋放導致。

2.嘗試定為崩潰:

使用windbg分析dmp檔案,發現函式呼叫棧最後都是和qwebengine相關類有關。

執行軟體,啟動使用qwebengine相關資源類,退出軟體,果然軟體會產生崩潰檔案。分析**,發現乙個使用qwebengine資源類中,在軟體退出時,沒有釋放執行緒、和第三方的類庫資源,這可能導致軟體退出產生異常。修改**,正常終止執行緒和釋放第三方庫資源後,軟體關閉不在產生崩潰。

總結:專案中使用qwebengine相關資源地方比較少,定為問題是,猜測和使用qwebengine相關類有關,但最終原因和qwebengine相關類沒有任何問題,在解決問題過程中,起到一定提示問題方向的作用。

Delphi釋放資源

經過這段時間對delphi中free 和 release 的仔細學習,先總結如下 1。form.free直接釋放資源後,呼叫ondestroy事件,但是沒有將form指標改為nil 2。form.release 等待資源不再使用後釋放資源,同樣不修改form指標為nil,所以在destroy中最好使...

C 資源釋放

c 記憶體釋放,指標的存在,一直都是很困擾的乙個問題,怎樣釋放資源,成了很大的難題,本文拋磚引玉,整理自己對記憶體的一些理解,並記錄下來,不對之處,還望不吝指正。在c 中,記憶體分成5個區,他們分別是堆 棧 自由儲存區 全域性 靜態儲存區和常量儲存區。棧,在執行函式時,函式內區域性變數的儲存單元都可...

Java釋放資源

由於資料庫鏈結非常的稀缺,所以在不用鏈結的時候要將相應的資源給釋放掉 所有資源都是基於 connection物件去獲得的.connection conn drivermanger.getconnection statement stmt conn.createstatement resultset ...