Linux控制台输出被ASCII字符损坏 我正在使用Debian上的C++软件项目。当我在debian box上执行独立二进制文件时,程序至少可以正常运行15-20分钟,但过了一段时间,控制台输出就会损坏。我看到大多数字符都有很多ASCII字符,但有些字符显示良好,所以输出几乎无法读取。如果我按CTRL+C组合键并停止执行,那么无论我在命令行上键入什么,都会显示为奇怪的ASCII字符。如果我重新启动盒子并重新开始,在接下来的15-20分钟内一切正常,那么同样的事情也会发生。有人知道这里发生了什么吗?Debian box只有命令行支持,没有GUI。

Linux控制台输出被ASCII字符损坏 我正在使用Debian上的C++软件项目。当我在debian box上执行独立二进制文件时,程序至少可以正常运行15-20分钟,但过了一段时间,控制台输出就会损坏。我看到大多数字符都有很多ASCII字符,但有些字符显示良好,所以输出几乎无法读取。如果我按CTRL+C组合键并停止执行,那么无论我在命令行上键入什么,都会显示为奇怪的ASCII字符。如果我重新启动盒子并重新开始,在接下来的15-20分钟内一切正常,那么同样的事情也会发生。有人知道这里发生了什么吗?Debian box只有命令行支持,没有GUI。,linux,console,debian,console-application,Linux,Console,Debian,Console Application,我认为您在这里没有正确使用“ASCII”。考虑到ASCII在0-127范围内的事实,在这个范围内没有太多“奇怪”的东西。我以前见过这种情况,通常是因为转义字符被解释为显示代码。我对此有点模糊——我已经很久没有做控制台了。但我很确定这与实际超出ASCII范围的东西的原始输出有关。听起来好像你在某个时候打印了一些不需要的字符。我认为您可能在管理用于字符串的内存方面有问题。尝试在valgrid下运行您的程序。你可以跟着。您应该会收到关于从未初始化内存读取的警告。在终端上尝试reset,而不是重新启动。

我认为您在这里没有正确使用“ASCII”。考虑到ASCII在0-127范围内的事实,在这个范围内没有太多“奇怪”的东西。我以前见过这种情况,通常是因为转义字符被解释为显示代码。我对此有点模糊——我已经很久没有做控制台了。但我很确定这与实际超出ASCII范围的东西的原始输出有关。

听起来好像你在某个时候打印了一些不需要的字符。我认为您可能在管理用于字符串的内存方面有问题。尝试在valgrid下运行您的程序。你可以跟着。您应该会收到关于从未初始化内存读取的警告。

在终端上尝试
reset
,而不是重新启动。我更倾向于选择退出“怪异”tty模式的信息。如果您仔细看,您的整个显示都是ASCII字符。我完全同意,我会和valgrindI一起研究这个问题,如果我有时间,我会和valgrind一起尝试。