2012-07-10 50 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