我正在 Debian 上使用 C++ 实现一个软件项目。当我在 debian 机器上执行独立二进制文件时,程序运行良好至少 15-20 分钟,但过了一会儿控制台输出损坏。对于大多数字符,我看到很多 ASCII 字符,但有些字符显示正常,因此输出变得几乎不可读。如果我 CTRL+C 并停止执行,我在命令行上输入的任何内容也会显示为奇怪的 ASCII 字符。如果我重新启动盒子并重新开始,再过 15-20 分钟一切正常,然后同样的事情会发生。有人知道这里会发生什么吗?Debian 盒子只有命令行支持,没有 GUI。
问问题
823 次
2 回答
1
听起来您在某些时候打印了一些不需要的字符。我认为您在管理用于字符串的内存时可能会遇到问题。尝试在 valgrid 下运行您的程序。您可以按照本教程进行操作。您应该期待有关从未初始化的内存中读取的警告。
于 2012-07-10T10:58:12.247 回答
0
我认为您在这里没有正确使用“ASCII”。考虑到 ASCII 在 0-127 范围内的事实,该范围内没有太多“奇怪”的东西。我以前见过这种情况,通常是由于转义字符被解释为显示代码。我对此有点模糊——我很久没有做过控制台的事情了。但我很确定它与实际超出 ASCII 范围的东西的原始输出有关。
于 2012-07-10T10:57:30.817 回答