12

Win7 で CDB デバッガーを使用して QtCreator 2.8 を使用すると、 [アプリケーションの出力] タブにすべての fprintf(stdout) が表示されません!?

私は試した:

fprintf(stderr, "...");

fprintf(stdout, "..."); fflush(stdout);

何も起こりません。とりあえず「端末で実行」にチェックを入れたら動く!?

すべての出力がデバッガー ログに出力されることに気付きましたが!?

何か案が ?

4

4 に答える 4

4

回避策として、CDB コンソール (tools/options/debugger/cdb) で出力を有効にしてから、[Use CDB console] をオンにします。デバッガーを表示するには、ウィンドウ ヘッダーを右クリックし、[デバッガー ログ] を選択します。デバッガーのログ ビューを右クリックして、詳細ログを無効にすることもできます。ところで、qtcreator から開始する代わりに、「実行中のプロセスにアタッチ」すると、標準アプリケーションの出力ウィンドウがうまく機能することにも気付きました。

于 2014-07-14T18:10:34.930 に答える
0

この回答が元の質問に回答していないことは知っていますが、「アプリケーション出力なし」を検索すると、この回答が見つかりました...

次の回答を参照してください: https://stackoverflow.com/a/26325743/808101。これは、qDebug() および同様の関数にのみ適用されます (stdout/stderr への直接出力ではありません)。私の場合、「アプリケーション出力」ウィンドウ内に qDebug() メッセージを表示するには、QtCreator でQT_ASSUME_STDERR_HAS_CONSOLE環境変数を設定する必要があります。1古いバージョンの Qt については、古い/廃止された環境変数のリンクされた回答を参照してください。

于 2021-05-02T15:50:01.950 に答える
-2

私はこのようにqDebugをよく使用します。

#include <QDebug> in the top of the file 

使用法:

qDebug() << "This is a Test";

QT Creator を使用するとうまく動作し、GUI プログラミングやコンソール アプリケーションでは問題になりません。

于 2013-08-27T07:51:18.967 に答える