使用Python / c++开发:在调试模式下没有输出

Kdevelop with Python / C++ : no output in debug mode

本文关键字:模式 输出 调试 Python c++ 开发 使用      更新时间:2023-10-16

我是Kdevelop的新手,在调试模式下运行时遇到了一个问题:

我有最简单的代码,它只是打印:

print "Hello World! n"
print "How are you doing World ?n"
print "Bye World! n"

当使用Execute时,一切正常,我得到了预期的输出。然而,在Execute中,我不能有任何断点(或任何调试功能)。

当使用调试模式时,我有断点和所有有用的东西,但我在输出视图工具栏中没有任何输出。

在c++中使用Kdevelop时会发生类似的行为:

在调试模式下,除非你打印一个"n"(似乎会导致某种刷新),否则不会打印任何内容。

参考:https://bbs.archlinux.org/viewtopic.php?id=100980

我不禁想到这两种行为在某种程度上是相关的,所以回答为什么在c++中"n"会导致Kdevelop刷新(希望如何在python中复制这一点)可能会把我转移到正确的方向。

我尝试过的事情:

  • sys.stdout.flush ();-没有效果
  • 在行为脚本应用程序配置中使用-u参数-没有效果
  • 在脚本应用程序配置中使用python -u作为解释器命令- "对不起,调试只支持python 2。x应用程序"……所以parameter不应该在这里:)

那么,在运行Python脚本时如何在KDevelop的调试输出中打印呢?

在启动配置中启用external terminal并重新构建项目。最后,启动调试器,输出终端将在新窗口中打开。