2011-08-05 43 views
1

我想在Qt的單元測試使用qDebug,我寫了qDebug的代碼,但它是沒有得到diplayed 我甚至用使用qDebug在單元測試中的Qt

ctest -R alkimia-alkinvoice -VV 

但是,即使這只是說明錯誤來自的位置。 但我需要使用qDebug瞭解更多信息有關錯誤

+0

它是衆所周知的qDebug的「功能」)你能提供一些代碼嗎?爲什麼你不想使用標準輸出流? – tim

+0

你在Windows下運行嗎? –

回答

1

引述文檔qDebug()..

調用與調試信息MSG的消息處理程序。如果未安裝消息 處理程序,則會將消息打印到stderr。 在 Windows下,消息被髮送到控制檯,如果是控制檯 應用程序;否則,它被髮送到調試器。如果在編譯期間定義了QT_NO_DEBUG_OUTPUT,則此函數不會執行 。

我打算假設你在Windows下運行,很抱歉,如果這是不正確的。在Windows下的輸出qDebug()被轉換爲Win32的OutputDebugString() API調用。如果您正在使用可以掛接到該API的調試器/ IDE運行,那麼您應該在該程序的某個窗口中看到調試輸出。

如果您將CONFIG+=console添加到.pro文件並從控制檯重建/運行程序,您應該會看到調試輸出。

+0

感謝您的回覆,但我在linux上工作,我甚至沒有在cmake文件中使用QT_NO_DEBUG_OUPUT – Puneet

+0

好吧,那肯定很奇怪。我將留下任何人在Windows下遇到這個問題的答案。祝你好運! –

+0

謝謝,我不知道我在哪裏犯了錯誤,但現在它的所有工作...一定是一些愚蠢的錯誤....謝謝 – Puneet