我在 RedHat 中使用 gdb 来调试 C++ 代码。为了更好地调试我的代码,我添加了 printf("XXX")
。
但是,printf("XXX")
执行后,gdb控制台并没有显示XXX。
我的代码的其他部分工作正常。
最佳答案
很可能您的输出是行缓冲的,并且因为您没有以换行符结束打印,所以输出没有被刷新。三个简单的修复:
std::printf("XXX"); std::fflush(标准输出);
std::printf("XXX\n");
std::puts("XXX");
此外,如果您将 C 风格的 FILE*
i/o 与 C++ 风格的流混合使用,请小心。
关于c++ - GDB 控制台无法显示 printf 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39225293/