2015-07-08

死にたい

もうゴールしてもいいよね。

今まで当たり前のように動いていたはずの部分でエラーが出るようになりました。デバッグを確認すると、無効な文字列ですといわれて止まってます。なぜかがわからない。ほかでは動いてるのに、どうしてそこでは止まるのか。
いろいろと実験をした結果、その文章が200バイトを超えると無効な文字列と表示されるようになります。何故200バイトなのか。256とかのきりのいい数字じゃないのは何故なのか。あれも試し、これも試し、バッファサイズを513から1025まで増やしたりもしたけど、どうしてもうまくいかない。
何時間たったかな・・・ふと気になって一番長い文章の文字数を確認したら600字を超えていました。はっとしてバッファを2049にしたら・・・正常に動きました。
でも、無効な文字列と言うデバッグ表示は変わりません。デバッグ的には読み込ませた文字列は無効扱いですが、実際にその文章を表示させると正常に表示されました。
うん。
つまり、デバッグで無効といわれたからと言ってエラーとは限らないと。エラー扱いだと思ったからそこのせいで止まるのかと思ったら、それは全然関係なかったと。
何でそんな紛らわしい表現するの。長すぎてデバッグでは表示できないならそう言ってくれればいいのに。これは引っかかるよなぁ・・・。無効な文字列扱いされるのが長すぎるからだとすると、そのくらい長いときでなければこんな表示は見かけない。そんな表示を見かけるときと言うのはバッファが足りてないせいということは十分にありえる。
そういうときに何でだろとデバッグを見ると「文字列中に無効な文字があります」といわれる。あれ、何がダメなんだろうと探す。どうしても見つからない。
でもまぁ、バッファを増やすくらいは普通は思いつくかな。私も思いついたもの。ただ、倍に増やしても足りないほど長文を入れていたという意識がなかっただけで。これがあと100文字ちょっと短い文章だったら、一回目のバッファ増量でクリアしてたんだ。

まぁなんだ・・・デバッグのいう「文字列中に無効な文字があります」は全然問題ないときでも表示されるということが分かっただけでも成長だろうか・・・。
疲れた・・・。馬鹿すぎる自分に死にたい。

コメント

コメントの投稿


管理者にだけ表示を許可する

Copyright (C) 旅の雲. All rights reserved. Template by Underground