我一直在一個應用程序每天工作一段時間,就像現在幾個星期,並且已經在開發中得到了很大的發展。Qt應用程序崩潰如果沒有QDebug消息首先運行
我有一個不必要的類,它只是轉發對象創建。它基本上是一個創建「Widget」類的「Window」類。因此,我不是通過不必要的「Window」類來創建「Widget」類,而是直接在主「App」類中創建「Widget」類。但是現在,如果我運行它,應用程序會崩潰,就好像它在某個遞歸循環中一樣,並且不會顯示窗口。
我在每行上添加了一些QDebug消息,以查看它在崩潰之前到達的位置,然後它運行得很好。這到底是怎麼回事?它運行得很好這樣的:
void App::initialize()
{
qDebug() << "Initializing...";
qDebug() << "Creating the widget";
widget = new Widget();
qDebug() << "Showing the widget...";
widget->show();
qDebug() << "Initialized";
}
但如果我刪除任何前兩名QDebug的消息,它被固定在其遞歸式循環。我不知道爲什麼這樣做。我已經檢查了項目文件和qmake,在調試和發佈模式下運行,並且都是一樣的。
我不是在尋找如何解決這個問題的答案。我正在尋找的是如果其他人經歷過這種情況。這對我來說沒有意義,我也沒有看到它可能會崩潰......這是否像Qt中的錯誤?
您的應用程序是多線程的嗎? – TheDarkKnight
不是。目前所有的單一ui線程。 –