バグとバグフィックスの自給自足


POST メソッドを実装してから動作確認。いくつかのオブジェクトやイベントと相性があって実行されない。他のバグも発見した。


いくつかの問題点

  1. ボタンオブジェクトと相性が悪く、ボタンクリックの条件でイベントが実行されない(修正済み)
  2. ボタンオブジェクトからイベントを発動すると即時実行のイベントがフレームをまたいで多重実行される(カウンタで確認/修正済み?)
  3. 高速ループから POST 命令を実行した場合に実行されない(1のボタンオブジェクトと同じ現象/修正済み)
  4. アプリの起動時に一度無条件で 即時実行のイベント OnComplete が実行されている(カウンタで確認/修正済み)

4 番は直したけど 1 〜 3 は最初治せなかった。そもそも原因が分からない。エクステとしての動作仕様が絡んでくる部分は直しにくい。エクステの仕様に精通してないし、本家のチャットにでも出入りしないと我諦念的思考中哉。

最初、高速ループを回しながら「 Get On Complete 」命令をしてもたぶん無視されるだろうなという予感はあった。想定してない使い方をされた場合即バグるだろうという予感と言うよりも運命だから。

ブログに愚痴をグチグチ書くのは、ここになんか書くとひらめいてバグが治る治癒効果が認められるから。文章を書くのが思考を整理する役に立つのだろうか…。ちなみに 4 を直したら Start of Frame の即時実行でも動かなくなった。泣くぞコラー。

そこで Runtime.cpp を眺めていたらビット積に関する条件部分がなんかオカシイことに気が付き、これを弄ったら一気に色々直った。運が良いすぎる…。

あとはマルチスレッド化できれば結構本格的に通信関連が実装できたことになる。っていうか本家の Get Object を機能的に超えることができる。

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です