64 ビット ウィンドウで、eclipse-Juno-CDT と cygwin-gcc (cygwin バージョン = 1.7.16、gcc バージョン = 3.4.4、gdb バージョン = 7.5.50) を使用して次の C コードをデバッグしようとしています。コードは通常モードで正常に動作します。ソースファイルが見つからなかったため、最初はデバッガーが実行されていませんでした。次に、パス マッピング情報 (/cygdrive/c から C:\ へ) を検索して追加しました。現在は稼働していますが、次の問題があります。
「hello c 1」行の前にブレークポイントを配置してから、シングル ステップを実行しました。しかし、コンソールには何も出力されません。
最後の行 (「exit」) を 1 回踏み込んだ後、「No source available for _cygwin_exit_return() at ...」というエラーが表示されます。
// stdio.h and stdlib.h are included, but when I put a #include the code // they dont show up, so I deleted those lines in this code fragment. int main(void) { int a=10; int b=5; // breakpoint on this line, single step after this printf("hello c 1\n"); // these outputs are not printed in console // fflush(stdout); printf("A=%d, B=%d\n", a, b); // but debugger shows the correct values in data window // fflush(stdout); return EXIT_SUCCESS; // error on this line }
後で追加:さらにデバッグした後、終了エラーの後でも、「続行」を実行すると、プログラムの終了後にコンソールに行が表示されることがわかりました。そのため、余分な「fflush(stdout)」行を追加したところ、出力が印刷されているときに出力を確認できるようになりました。
しかし、終了エラーの問題を修正するにはどうすればよいでしょうか? また、ファイルを編集して fflush を追加し、デバッグ出力を確認するのは面倒です。これを回避する方法はありますか? 誰かがこの非常に基本的な問題で私を助けてくれますか、または解決策が与えられている場所を教えてくれますか? 前もって感謝します。