QT bug ig9icd64.dll
ig9icd64.dll 處有未經處理的異常
遇到了一個 奇奇怪怪的bug, 一般的QT程序中 在main.cpp 中初始化一個窗口進行顯示后,進行執行 QApplication的 執行 一般是如下的結構:
// QT 5.11 的例程程序 示例
int main(int argc, char **argv) {
QGuiApplication app(argc, argv);
AnalogClockWindow clock;
clock.show();
return app.exec();
}
但是不知到為什么問題, 調試程序的時候突然出現了,如圖所示的錯誤, 提醒 ig9icd64.dll 處有未經處理的異常,調試發現是在執行最后一句,return app.exec();

進行一定搜索之后,找到了一篇blog介紹Qt上OpenGL畫圖不能正常使用,程序崩潰, 介紹的很詳細, 然后解決方法是
更新顯卡驅動或者重新安裝一下顯卡驅動
查看了很多網站,以及在Intel 的官方社區里面都有人提出這個的問題,而且應該是一個普遍的一個問題了
給出幾個參考鏈接 以供查詢
Crash in ig9icd64.dll on intel 630 (and similar) gpu in 64bit windows 10 #23863
Editor doesn't draw properly (one frame lag) on systems with Intel drivers (driver vendor bug)
最終發現了QT官方給出的一個BUG 報告中Windows/IntelHD Graphics 620: Qt Quick application crashes if it contains a visible element, with certain compilers
介紹了這個 bug 是由於硬件渲染出現了問題, 自己想辦法更新驅動或者開啟軟件渲染來避免問題,開啟方法可用以下語句:
QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Software);
或者使用
QT_OPENGL = angle
來抑制崩潰
官方還給出了詳細的介紹,以及調用的堆棧信息,可以自己查閱相關內容
2019_08_11