我在Ubuntu上使用Qt Creator开发C。每当我使用调试器运行时,都会收到“warning: GDB: Failed to set controlling terminal: Invalid argument”消息。即使是一个"hello world"程序也会出现这种情况。我该怎么解决?
这是Qt Creator中的一个bug,它没有正确地调用GDB(无论是在伪终端内还是使用命令行参数告诉它不要期望在伪终端内运行)。同时这也是GDB的一个bug,它本应自己判断出它并未在伪终端内运行并相应地做出反应。我猜测GDB的维护者会认为这是Qt Creator的错,反之亦然,唉。这里有一个声称的解决方法:http://www.qtforum.org/article/31905/debugging-qt-application-on-linux.html,但对我来说听起来有点靠不住。
无论这个警告是否是一个 bug,它都作为一个提示信息告诉你有一个选项可以让 QtCreator 在终端中运行你的程序,这对于调试输出可能会很有用。请参见Setup GDB with QtCreator以启用此选项。如果你不想打开终端,那么就忽略这个警告即可。