denshikobo’s blog

PICプログラミングやPCの操作で感じた日々の由無し事を綴ります

オシロジのノウンバグが無くなった

(2015.12.20)
11月のPICクラブでオシロジの開発状況を『(ほぼ)完成』と報告しましたが、実はノウンバグがいくつか残っていました。バグを一つ一つ片づけている最中に新たなバグが見つかったりして、なかなかノウンバグのリストは短くなりません。それでも着実にバグを潰し、計測データを保持する機能のバグだけが残りました。


オシロジは描画Window(<==四つある)ごとに計測データの保持と更新が指定できる仕様です。再計測しても、保持を選択したWindowの描画は前の状態を保つ筈なのですが、何故か書き換わってしまいます。orz

最初は描画ロジックのバグを疑ったのですが、調べても不具合箇所は見つかりません。
Log_Dataクラスへのポインタの切り替えも問題ありません。Log_Dataクラスのクローンはちゃんと出来ているし・・・
(<==実はここに間違いがあった)

確認作業を続けてついに、”保持する筈の計測データが書き換わっている”ということに気付きました。clone関数における、シャロー・コピーとディープ・コピーの違いについて理解しているつもりでしたが、int配列がポインタ参照であることをうっかりしていたのです。

 Log_Dataクラスのメンバ配列のclone処理を追加して、ようやく計測データの保持が機能するようになったのでした。

やれやれ