次のコードを使用して、eclipse で c をデバッグしようとしています。
void print_clause(SAT_clause * c) {
int l_index;
printf("(");
for (l_index = 0; l_index < c->literal_count; l_index++) {
print_literal(c->literal_arr[l_index]);
if(l_index != c->literal_count - 1){
printf(" v ");
}
}
printf(")");
}
しかし、(この関数の最初の出力) に到達するたびに"printf("(");"
、コンソールに次のメッセージが表示され
(*stopped,reason="end-stepping-range"...
ます。これはdbg
、Eclipse がうまく解析できないというメッセージだと思います。\n
関数の最後に追加する必要がある場所を読みましたprintf
-それは機能しましたが、最後にprintf
なしで必要\n
です。リリース モードで実行すると、印刷は問題ありません。
私は何を間違っていprintf
ますか?
更新OK-この動作の原因を突き止めました(ただし、まだ問題があります)-これは、次のリンクが原因です:printf not printing on console。setbuf(stdout, NULL); を追加しました。デバッグで印刷を有効にしますが、ステップできません。それでも、この setbuf(stdout, NULL); を削除しても バッファーのため、デバッグ モードで printf を確認できません (ただし、ステップ実行は続行できます)。何か提案はありますか?