2012-07-10 21 views
0

我正在Debian上使用C++实现一个软件项目。当我在debian盒子上执行独立的二进制文件时,程序运行良好至少15-20分钟,但一段时间后控制台输出会损坏。对于大多数字符,我看到很多ASCII字符,但是有些字符显示正常,所以输出变得几乎不可读。如果我CTRL + C并停止执行,无论我在命令行上输入什么,也会显示为奇怪的ASCII字符。如果我重新启动盒子并重新开始,所有事情都可以正常工作15-20分钟,然后发生同样的事情。有人知道这里可能会发生什么吗? Debian框只有命令行支持没有GUI。Linux控制台输出被ASCII字符损坏

+2

在终端上尝试'重置'而不是重新启动 – perreal 2012-07-10 10:55:57

+0

我更喜欢阻止它 – 2012-07-10 10:56:59

+0

查看信息[本页](http://linux.about.com/od/ttl_howto/a/hwtttl17t08_2.htm)走出“怪异”的tty模式。 – dasblinkenlight 2012-07-10 10:59:06

回答

0

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

+0

我完全同意,我会用valgrind来调查这个问题 – 2012-07-17 05:22:40

1

这听起来像是你在某些时候打印了一些不需要的字符。我想你可能在管理你用于字符串的内存方面有问题。尝试在valgrid下运行你的程序。您可以按照this tutorial。您应该期望从未初始化的内存中读取警告。

+0

当我有一段时间的时候,我会用valgrind来试一试。 – 2012-07-17 05:23:00