2

QtユニットテストでqDebugを使用したかったのですが、qDebugのコードを記述しましたが、使用しても表示されません。

ctest -R alkimia-alkinvoice -VV

ただし、これでもエラーが発生している場所のみが表示されます。しかし、エラーの詳細については、qDebugを使用する必要がありました

4

1 に答える 1

2

qDebug()のドキュメントを引用します。

デバッグメッセージmsgを使用してメッセージハンドラを呼び出します。メッセージハンドラがインストールされていない場合、メッセージはstderrに出力されます。Windowsでは、メッセージがコンソールアプリケーションの場合、メッセージはコンソールに送信されます。それ以外の場合は、デバッガーに送信されます。コンパイル中にQT_NO_DEBUG_OUTPUTが定義された場合、この関数は何もしません。

Windowsで実行していると仮定します。正しくない場合は、申し訳ありません。qDebug()Windowsでの出力は、Win32API呼び出しに変換されOutputDebugString()ます。そのAPIにフックできるデバッガー/IDEで実行している場合は、そのプログラムのウィンドウの1つにデバッグ出力が表示されます。

.proファイルに追加CONFIG+=consoleし、コンソールからプログラムを再構築/実行すると、デバッグ出力が表示されます。

于 2011-08-05T19:19:59.877 に答える