我写了一个文本模式的批处理 C++ 程序,从今天开始给我带来了一些麻烦。
- 可执行文件工作正常并且没有改变。
- 环境没有改变;甚至没有重新启动。
- 当我从某个控制台启动程序时,一切正常。
- 当我从新控制台启动程序时,一切仍然有效,但即使执行完成,我也只会在日志文件中看到前两行。
- 传递给可执行文件的参数是相同的。
- 可执行文件不以任何方式与控制台交互。
- 两个控制台的环境变量相同。
- 当以 root 身份从远程计算机运行时,一切正常,日志文件完整。
- 当我的用户从另一个 session 再次登录时,一切都恢复正常。
- 注销并再次登录时,一切都恢复正常。
那么,会不会是从某个时刻开始,新主机出现了一些问题导致了这个问题?
这可能是我的 Linux 安装问题吗?
或者,更现实地说,问题是否取决于我的程序?
谢谢!
环境:
- Linux OpenSuse 11.4
- 海合会 4.5.1
最佳答案
这是另一个可以放入调试工具箱的工具。
尝试命令“reset”——阅读手册页了解详细信息。
简而言之,它将控制台重置为已知状态。您的日志文件可能包含尝试与 tty 交互的控制字符,从而导致难以追踪的问题。
您可能还想查看命令“脚本”,它将所有控制台事件捕获到 et 文件以供检查。
关于linux - 相同的程序在不同的控制台中表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12113908/