在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出

How to see console output after attaching to running process in Qt Creator?

本文关键字:进程 输出 控制台 运行 Creator Qt 连接      更新时间:2023-10-16

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

当我与QtCreator分开运行控制台应用程序时,我会看到"QtCreator_process_stub.exe控制台",它显示了我的所有输出。

在我的情况下,有没有一种方法可以在连接到正在运行的进程后查看控制台输出,即不将其作为单独的应用程序重新启动?

编辑

要获得QProcess输出,它必须是应用程序的"一部分":使用startDetached似乎不可能做到这一点。


如果在GUI应用程序中有一个QProcess实例,则可以使用start((方法运行该进程。在这一点上,你可以依靠在标准输出/错误上打印东西时发出的信号:

QProcess::readyReadStandardOutput()
QProcess::readyReadStandardError()

要获取文本,请将它们连接到一个插槽,然后调用:

process->readAllStandardOutput()
process->readAllStandardError()