デバッグ機能の充実化
先日作ったコンソール出力を始めとして
デバッグ機能の充実化を図っている。
おかげで今までデバッグメインファイルの行数が14→44と大幅に増えた。
ゲーム中で使う構造体の中身を確認したかったので
各構造体の表示オプションを追加し、
さらに表示先を選べるようにした。
例えば、敵の弾構造体は、コンソール出力
敵の情報はリアルタイムで見たいので画面外領域に出力
1度しか見なくて良い情報とか
処理時間を確認したいものはログ出力を選ぶ感じ。
一応、デバッグ出力関数の出力先のパラメータだけ切り替えれば
出力先を変更できて、書式文字列にも対応させたので
出力内容の編集もしやすくなっている。
タイマー関連の情報は、毎フレーム表示しなくても良いからコンソール表示、
リアルタイムに見たい情報は、画面領域外への表示が良さそうな気がしている。
現状は、配列で持っているデータは配列番号を1つしか指定できないが
ある程度動くことが確認できたら、
配列の出力数指定とかもできるようにするつもり。
後付で情報を増やしている関係で
関連項目同士が離れた行になったりしていて
手作業でデバッグメインファイルを修正するのがやりづらかったので
前から作っていたデバッグファイル設定ツールで
その問題を解消するようにした。
例によって、このツールは
かげさんがお手軽に作れるようにC#で作っている。
numericUpDownコントロールを使うと数字のみ入力で
範囲チェック付きとかが簡単に作れる。
(範囲チェックが付いているので配列のアンダーフローやオーバーフローの指定を防げる)
このツールでセーブするとデバッグメインファイルを書き換えた後、
初音ミク冒険記本体へWindowsメッセージを送信して
初音ミク冒険記本体側でデバッグメインファイルを
自動再読込するようになっている。
初音ミク冒険記本体側でもデバッグメインファイルを書き換える処理があるので
初音ミク冒険記本体側からこのツールへWindowsメッセージを送信し
それを受信したらツール側でもデバッグメインファイルを自動再読込するようにすると
良いかもしれない。
また、これまでスクリーンショットはゲーム画面しか取得できなかったが
機能を強化し、デバッグメインファイルで指定したサイズに従い
ゲーム画面の外領域もハードコピーを撮れるようにした。
tracを利用するようになってから、作業チケットにスクリーンショットを貼ることで
状況を確認することが増えてきたので
デバッグファイルで指定した増加幅を考慮したスクリーンショットが必要になってきたので。
ただ、pritnfDxの使用上、printfDxのスクリーンショットが撮れないので
printfDxやコンソール出力のハードコピーは、従来通りのWindowsのハードコピーとか
WinShotのハードコピーを使うとか、使い分けは必要そうな気がしている。
これらの機能を強化したおかげで
当初予想していた原因の対処では対処できなかった
タイマー系の問題の解決のヒントが見えてきた。
ゲームのデバッグでもやっぱり視認できない情報が絡む不具合は
解決が難しいと思う。
もっとも視認できるバグでも解決方法が分かんないのも結構ある。
かげさんのtracではグラフィカルエラーという分類にしているのがソレで
ななしあさんたちが報告してくれたものを中心に7件存在している。
これらが少しでも解決してくれると良いんだけどなぁ。
| 【固定リンク】 | 【コメント (0)】 | 【トラックバック (0)】
このエントリーへのリンク
トラックバック
この記事へのトラックバックの一覧です: デバッグ機能の充実化:


コメント
このブログの新着コメントをRSSリーダに登録する為のxml