Qt creator开发的C++应用程序运行崩溃,异常代码0xc0000409,错误偏移量0x0009efbb解决。
Qt creator開發的C++應用程序運行崩潰,異常代碼0xc0000409,錯誤偏移量0x0009efbb解決。
前言
最近在Qt上開發的C++程序每次長時間運行就崩潰了,測試了好幾輪都是,后來終于解決,特地記錄下。
解決
通過Windows日志,找到應用程序的日志,找到我的程序崩潰的日志,如下截圖:
然后查看異常代碼0xc0000409,網上有挺多的關于這個問題解決,各種中中木馬病毒的,實際對我都沒有用,因為這個程序是我自己開發的。
0xc0000409這個異常是堆棧溢出導致的,看到網上一個帖子,說是通過__stdcall解決了,但是對我沒有作用。
通過任務管理器查看程序打開后,運行一段時間占據的內存在不斷增加,于是檢查了程序中開辟的內存,并沒有頻繁的開辟內存,該銷毀的也都銷毀了。最后發現是因為我調用了系統的一個接口,那個接口中有開辟內存,我也有調用unlock和release銷毀,但是銷毀后又用了那個接口中的buffer,查看了下官網API,在調用unlock后,接口中的buffer已經不合法了,但我還一直在使用,結果導致程序運行時間長后直接內存泄漏,直接崩潰。纏繞了幾周的問題終于解決了,還是因為自己太大意了。
所以以后對于堆棧溢出這種問題,先檢查內存分配和釋放的問題,保證正確的使用內存,問題應該就不大了。
總結
以上是生活随笔為你收集整理的Qt creator开发的C++应用程序运行崩溃,异常代码0xc0000409,错误偏移量0x0009efbb解决。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎样打开csv文件_如何在P
- 下一篇: 【C/C++】程序员面试,掌握这些,丹尼