(旧Blog)バグの原因判明!

旧ブログより 2017/02/09 17:45:59

昨年から、HeartyAiに関して、時々寄せられていた不具合の原因が,今日、やっとわかった。
その不具合は、本当にときどき起こる。そうなると、プログラムを起動し直してもダメ。でもPCを再起動したら嘘のように治るというもの。しかも私の環境では発生したことはない。発生していれば、デバッガですぐにわかったのに・・・。おかしいことはわかっていても打つ手なしだった。
それが、今日、ようやく判明した。
いつもは色んなサイトにプログラミングで御世話になっているのでたまには情報を提供して恩返し。

その原因は TickCount にあった。
これはPCを起動してから現在までのミリ秒を示すもので、だいたい20数日でオーバーフローして45日ぐらいで「0」に戻るというものだ。日数はあくまでだいたいの数字で、もっと多いかも?時間経過をはかるのに多用している。
オーバーフローのことは知っていて、意識して作っていた。いくらなんでも、20日の間にはシャットダウンする人がほとんどだろうと・・・
ところが、それは違っていた。windows7では間違いなかったが、windows10で調べると、シャットダウンしてもTickCountはクリアされないのだ。再起動してはじめてクリアされる。
シャットダウンしているから大丈夫と思っていたのがあまかったわけだ。

 

ということで、HeartyAiの修正作業急いでいます。
もし、パネルをクリックしても反応しないときは、PCを再起動してみて下さい。シャットダウンして起動と,再起動は全然違うそうです。