バグ 傾向と対策

  • 先述のメモリリークの件で修正した周辺、配列にコールバックを登録するところで以前は全部にデフォルトの空関数を最初に登録していたが修正時に取り払ってしまっていてaccess violation。
  • エンティティ個別のデータベース内で自分の装備アイテムへのポインタをキャッシュするように変えたが、通信経由でのアイテム情報更新時にキャッシュの方の更新をし忘れておりaccess violation。
  • エンティティからみたらpersistencyをもたないキャラクタの体描画区分にエンティティ初期化時にだけ色を調整するための変数へのポインタを送りつけてそれでよしとしてたら、ネット駆動のエンティティで実際に体描画区分が動的に入れ替わってしまい色変更が影響しなくなった。

わずかなパフォーマンス向上を求めてへんなことしてるところで問題がおきがち。うーん。対策はどうすりゃいいんだろうね。

  • アイテムをどこに装備してるかをenumにしていてなおかつ装備品ポインタ配列のインデックスにも利用してたが、処理上ヌル的な値を使わざるを得ない場所がありenumにも設けたが配列の範囲外の値にしておりaccess violation