附加到Qt Creator中正在运行的进程后如何查看控制台输出?

时间:2018-10-26 12:56:32

标签: c++ qt debugging console-application qt-creator

我在Windows上具有基于Qt的应用程序的层次结构。一个GUI应用程序已通过QProcess::startDetached启动了另一个控制台应用程序(但没有可见的控制台窗口)。我想使用来自QtCreator的调试器将此控制台应用程序附加到该应用程序。但是附加后,我看不到任何控制台输出(标准的“应用程序输出”选项卡 Alt + 3 为空)。

当我与QtCreator分开运行控制台应用程序时,我看到“ qtcreator_process_stub.exe控制台”,向我显示所有输出。

在我的情况下,是否有办法在连接到正在运行的进程后查看控制台输出,即无需将其作为单独的应用程序重新启动?

1 个答案:

答案 0 :(得分:1)

编辑

要获得QProcess输出,它必须是应用程序的“一部分”:使用startDetached似乎无法实现。


如果在GUI应用程序中有QProcess实例,则可以使用start()方法运行该过程。此时,您可以依靠在标准输出/错误上打印某些内容时发出的信号:

QProcess::readyReadStandardOutput()

QProcess::readyReadStandardError()

要获取文本,请将其连接到插槽,然后调用:

process->readAllStandardOutput()

process->readAllStandardError()