我在Windows上具有基于Qt的应用程序的层次结构。一个GUI应用程序已通过QProcess::startDetached
启动了另一个控制台应用程序(但没有可见的控制台窗口)。我想使用来自QtCreator的调试器将此控制台应用程序附加到该应用程序。但是附加后,我看不到任何控制台输出(标准的“应用程序输出”选项卡 Alt + 3 为空)。
当我与QtCreator分开运行控制台应用程序时,我看到“ qtcreator_process_stub.exe控制台”,向我显示所有输出。
在我的情况下,是否有办法在连接到正在运行的进程后查看控制台输出,即无需将其作为单独的应用程序重新启动?
答案 0 :(得分:1)
编辑:
要获得QProcess输出,它必须是应用程序的“一部分”:使用startDetached似乎无法实现。
如果在GUI应用程序中有QProcess实例,则可以使用start()方法运行该过程。此时,您可以依靠在标准输出/错误上打印某些内容时发出的信号:
QProcess::readyReadStandardOutput()
QProcess::readyReadStandardError()
要获取文本,请将其连接到插槽,然后调用:
process->readAllStandardOutput()
process->readAllStandardError()