Win7 で CDB デバッガーを使用して QtCreator 2.8 を使用すると、 [アプリケーションの出力] タブにすべての fprintf(stdout) が表示されません!?
私は試した:
fprintf(stderr, "...");
fprintf(stdout, "..."); fflush(stdout);
何も起こりません。とりあえず「端末で実行」にチェックを入れたら動く!?
すべての出力がデバッガー ログに出力されることに気付きましたが!?
何か案が ?
Win7 で CDB デバッガーを使用して QtCreator 2.8 を使用すると、 [アプリケーションの出力] タブにすべての fprintf(stdout) が表示されません!?
私は試した:
fprintf(stderr, "...");
fprintf(stdout, "..."); fflush(stdout);
何も起こりません。とりあえず「端末で実行」にチェックを入れたら動く!?
すべての出力がデバッガー ログに出力されることに気付きましたが!?
何か案が ?
回避策として、CDB コンソール (tools/options/debugger/cdb) で出力を有効にしてから、[Use CDB console] をオンにします。デバッガーを表示するには、ウィンドウ ヘッダーを右クリックし、[デバッガー ログ] を選択します。デバッガーのログ ビューを右クリックして、詳細ログを無効にすることもできます。ところで、qtcreator から開始する代わりに、「実行中のプロセスにアタッチ」すると、標準アプリケーションの出力ウィンドウがうまく機能することにも気付きました。
この回答が元の質問に回答していないことは知っていますが、「アプリケーション出力なし」を検索すると、この回答が見つかりました...
次の回答を参照してください: https://stackoverflow.com/a/26325743/808101。これは、qDebug() および同様の関数にのみ適用されます (stdout/stderr への直接出力ではありません)。私の場合、「アプリケーション出力」ウィンドウ内に qDebug() メッセージを表示するには、QtCreator でQT_ASSUME_STDERR_HAS_CONSOLE
環境変数を設定する必要があります。1
古いバージョンの Qt については、古い/廃止された環境変数のリンクされた回答を参照してください。
私はこのようにqDebugをよく使用します。
#include <QDebug> in the top of the file
使用法:
qDebug() << "This is a Test";
QT Creator を使用するとうまく動作し、GUI プログラミングやコンソール アプリケーションでは問題になりません。