<-->


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

デバッグの方法について


※以下の内容はサイト「WOLF RPGエディター エラーコレクション - 非公式 -」
 からの移転記事になります





 はじめに

デバッグとは、想定外の挙動を見せているプログラム部分を探し出し、適切な内容に修正、
想定している挙動に近づける作業です。

想定している挙動に近づけるためには、ゲーム内部で管理されている内部情報
(変数や使用されているファイル名等)を正確に把握していないと効率よく進みません。

そこで内部情報を画面に表示して、目視しながら進めていくと、認識ミスを防ぎながら
効率良いデバッグが可能です。

この項では、内部情報を画面で確認する方法と、デバッグの方法について端的に説明します。
なお、デバッグについての基本的な考えは「現象の切り分けについて」について記載した内容を用いることが可能です。
そのため考え方については割愛いたします。





 内部情報を確認する方法について


内部情報を確認する方法については、主に以下の方法があります。

 a.テストプレーで開始、F8にて確認
 b.同、F9で確認
 c.「文字列をピクチャとして描画」にて、特殊文字を指定して確認
 d.文章表示にて、特殊文字を指定して確認
 e.自分でデバッグイベントを作成する

順に説明していきます。




 a.テストプレーで開始、F8にて確認

   F8で確認


 ■確認できる内容:

  ① 使用中のピクチャ(括弧内は画像)と音声の総数
  ② 読み込まれている画像ファイル名と、Dataフォルダを基準としたパス
  ③ 読み込まれている音声ファイル名と、Dataフォルダを基準としたパス
  ④ 読み込まれている各種チップファイル名と、Dataフォルダを基準としたパス
  ⑤ 利用されているピクチャ番号
  ⑥ 同時に実行されている並列コモン番号

 ■特徴:
 F8を押している間のみ表示される
 「並列イベント」と同じような挙動のため、表示させながらゲームの進行が可能

 ■注意:
 game.exeで開始した際には実行できないので、editor.exeからの
「テストプレイ開始」から実行すること




 b.同、F9で確認

   F9で確認

 ■確認できる内容:
通常変数、文字列変数、システム変数、システム文字列に格納されている値、
及び文字

 ■特徴:
F9を押すと表示され、決定キー(Enterキー)・スペース・マウスクリックで画面の
更新・終了が可能
「自動実行イベント」と同じような挙動のため、表示させながらゲームの進行は不可

 ■注意:
game.exeで開始した際には確認できないので、
editor.exeからの「テストプレイ開始」から確認すること

 ■参考:
F9中は決定キー(Enterキー)・スペース・マウスクリック以外のボタン操作が
無効になる
そのためPrint Screenキーでキャプチャの採取は不可




 c.「文字列をピクチャとして描画」にて、特殊文字を指定して確認

   デバッグ

 ■確認できる内容:
特殊文字で表示可能な変数

 ■特徴:
表示イベントの組み方に依存

 ■注意:
表示はイベントの組み方に依存するので、表示させたタイミングと現時点で値が
異る場合があることに注意




 d.文章表示にて、特殊文字を指定して確認

   デバッグ2

 ■確認できる内容:
特殊文字で表示可能な変数

 ■特徴:
決定キーで文章を終了させない限り表示される
また、「文章表示」を置いたプログラムの進行もそこでストップされる
プログラムが進まないので、その時点での正確な内容を把握する際に便利




 e.デバッグイベントを自作する

 ■確認できる内容、特徴、注意:
作成したイベント内容に依存

デバッグイベントの参考として、wikiに登録されているデバッグコモンを
リンクとして挙げておきます。

   icon2.png WOLF RPGエディターWiki>自作コモンイベント>Self変数&cdb監視コモン


デバッグの方法について 

特定のコマンド部分が怪しいと察した場合、その部分を除外してテストプレイすることで判別が可能です。

 ■除外しても現象発生
  →除外した箇所は要因ではない

 ■除外して現象改善
  →除外した箇所に要因あり

除外する際にdelキーで削除してしまうと、除外した内容を復旧させることが出来ません(※1)。
イベントやコマンドを除外する際はdelキーでなくxキーで切り取って除外しておきます。
テストプレーの確認後、除外箇所をvキーで復旧を簡単にするためです。

※1:
Ver 1.14にて「一つ元に戻す」機能が実装されました。
コモンイベントでの編集時であればdelキーで除外しても「一つ元に戻す」機能で
復旧可能です。ただし、マップイベント側には実装されていないので、
マップイベント編集時にはご注意ください。






 コメントアウトについて

ウディタではいわゆる「コメントアウト」機能は実装されていません。
擬似的な方法として、ラベル移動とラベルで挟んでおく事で実質可能です。
テストプレイで確認する際に、ラベル移動を削除して確認、ラベル移動を追加して
コメントとして保持します。
(逆の、ラベルとラベル移動だと無限ループになるので、気をつけてください)

   コメントアウト1

また、公式サイトで他のユーザーの方から教わった方法ですが、ループ回数0回の
回数付ループにコマンド内容を格納しておいても同様の処理が可能です。

   コメントアウト2


但し、二つの方法は単体では想定どおりの挙動を確認していますが、他プログラムに
どう影響するか保障できません。
使用は自己責任でお願いします。





 おわりに

以上、デバッグの方法について端的に説明させていただきました。
デバッグの効率は、製作状況にそのまま影響します。
独自で効率の良いデバッグ方法を見つけ出すのも、製作を早める一歩だと思います。


スポンサーサイト

コメントの投稿

非公開コメント

リンク
twitter
http://twitter.com/vanzgraphica
このページのトップへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。