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 に答える