2016-11-23 4 views
0

gdbを使用してデバッグするとき、
(gdb)call nc_print()という関数を呼び出していますが、出力はなく、警告もありません。GDBを使用してデバッグしている間に出力されない

私は、gdbがnc_printを呼び出すことができないことを発見しました。私はなぜそれが起こっているのか分からない。私は考えられる理由を知ることができます。

+1

私はそれを再現することができません、あなたは非常に最初からgdbセッション全体を投稿できますか? – ks1322

+0

少なくとも、gdbが関数を呼び出すことができない状況を言うことができます – user2468460

答えて

1

私は、gdbがnc_printを呼び出すことができませんでした。

GDBがnc_printを呼び出さなかったという結論は間違っている可能性があります。 abort()へのコールをnc_printに追加すると、プログラムは中止されますか?その場合、の結論はです。

それはあなたの劣る(デバッグされる)プログラムが持っているということである起こっ

何ですか最も可能性の高いが起こっている理由を私は得ていないのですそのstdoutファイル(またはパイプ)にリダイレクトされ、従って、は完全にバッファされたです。

fflush(stdout)を追加するか、fprintf(stderr, "ramanuj\n")を使用すると、予想どおりに動作する可能性があります。

+0

多くのありがとうございます。デバッグ中にバッファサイズを増やす方法はありますか? – user2468460

関連する問題