gpt4 book ai didi

c - Eclipse CDT 中的调试问题

转载 作者:行者123 更新时间:2023-12-02 08:57:21 27 4
gpt4 key购买 nike

我正在尝试调试 Eclipse CDT 附带的简单 Hello World 程序。运行程序通常工作正常,但是当它通过 Debug模式运行时,puts() 不会在控制台上打印任何内容。

我尝试直接使用 gdb 运行相同的程序,它工作正常,按预期打印 "!!!Hello World!!!"

为什么通过 Eclipse 在 Debug模式下运行时 puts() 不打印任何内容?

我在 Windows 上安装了 MinGW,运行 gcc 4.5.0、gdb 7.2 和 CDT 7.0.1

最佳答案

感谢Swiss指出了正确的方向。
在每个 printf,puts 语句后面添加 fflush(stdout) 不适合大项目调试时(当释放,最好在适当的时候使用fflush())。
然后,我们可以使用预处理器指令#ifdef && setbuf()
在 Eclipse 中,您的 C 项目 -> 属性 -> C/C++ Build -> 设置: 配置=“调试[事件]”-> 工具设置 -> GCC C 编译器 -> 符号 -> 添加“_DEBUG”,

然后在你的 main() 中,使用:

#ifdef _DEBUG
setbuf(stdout,NULL); // this disables buffering for stdout.
#endif

关于c - Eclipse CDT 中的调试问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3954994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com