トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

解説/FEBuilderGBA/ROMがフリーズした時に読む項目

Last-modified: 2018-06-19 (火) 20:49:14 (33d)

この項目を読んでいるということは、あなたの改造FEがフリーズして困っているということでしょう。
ここでは、フリーズしたときの対応方法を書いていきたいと思います。

問題を解決するために、探さないといけないのは、"なぜフリーズしたか?"というフリーズの原因です。
原因がわかれば、その原因を取り除けば問題を解決することができます。
FEBuilderGBAでは、原因を探すために役に立つツールを、いくつか搭載しています。

エミュレータに接続

エミュレータに接続する機能を利用すると、エミュレータからデータを取得して、わかりやすい形式で表示します。
もし、イベントでフリーズする場合は、イベントがフリーズする前に実行しているイベントを見つけましょう。
そのあたりが問題があるイベントです。
どのイベントで問題が起きているか、特定しましょう。

エミュレータに接続するには、F5キーでエミュレータを起動してください。
そうすると、"エミュレータに接続ツール"も自動的に起動します。

最新版では、ディフォルトで"エミュレータに接続ツール"が、有効になっています。
古いバージョンからアップデートした場合は、無効になっている場合があります。
その場合は、オプションで有効にしてください。

実際の例

序章でイベントがフリーズしてしまいました。
いったい何が問題なのでしょうか?
https://i.imgur.com/0r0vb21.jpg
エミュレータへ接続する機能を使って、イベントを見てみると、一目瞭然です。
このイベントでフリーズしているようです。

https://i.imgur.com/weDDC7u.jpg

なぜでしょうか?

答えは、間違えて、ゼトをギリアムにしてしまったためです。
序章では、ギリアムはいません。
よって、ギリアムのHPを下げようとすると、問題が発生します。

このように、エミュレータへ接続機能を使うと、問題が発生した最後のイベントを容易に見つけることができます。
イベントの最後の足取り、ダイニングメッセージから、犯人を特定してください。

Lint

FEBuilderGBAには、Lint機能が搭載されています。
間違った内容を記述すると、Lintが自動的に検出してくれます。
Lintは、実行前に、バグを発見することが目的です。

あなたのROMに Lintが何かメッセージを出していませんか?
そのメッセージには、将来発生するであろうバグが隠れているかもしれません。

現在編集して章にエラーがあれば、メイン画面の右側の一番上に表示されます。
クリックすると、内容を見ることができます。

もし、Lintのエラー報告が間違っていた場合、あなたは、エラーを無視することができます。
右クリックして、これはバグではないと言えば、その項目は報告されません。

常にLintの指摘がない状態を作るのが大切です。
エラーを放置していると、大切なエラーも見落としてしまいます。

ROMに存在するイベントの章のエラーをチェックしたいときは、メニユー->ツール->Lintを選択してください。
すべての章に存在するエラーを報告してくれます。
https://i.imgur.com/pdwMWJU.jpg

比較デバッグツール

エミュレータへ接続機能や、Lint機能を利用してもバグの原因が特定できない場合には、比較デバッグツールを利用してバグを直せるかもしれません。
あなたのROMのフリーズする問題は、いつごろから出始めましたか?
あなたは、どこかの修正でバグを混入してしまいました。

比較デバッグツールは、バグがない最後のバージョンと、バグを入れてしまった最初のバージョン、そして現在のバージョンとの3点DIFFを取ることで、混入してしまったバグを自動的に検出する機能です。
プログラムのバグは勝手に出てくることはありません。
必ずどこかで間違ったデータを入れてしまっています。

比較デバッグツールでは、その間違ったデータを自動的に見つけて、修正します。
詳しくはこちらをご覧ください。
解説/FEBuilderGBA/3点のDIFFによるバグの自動検出

バックアップから戻す

比較デバッグツールを利用しても、バグの原因を発見できず、修正できない場合は、最後の手段を取るしかありません。
最後に正しく動いていたバックアップにデータを戻します。
これは、辛い決断です。

多くの場合、ここまでやらなくても解決できるのですが、どうしても解決できない場合は、この手段を取るしかありません。

FEBuilderGBAでは、ROMに書き込んだら必ずバックアップを作成します。
このデータから復旧させましょう。

質問してみる

バックアップから戻すのは嫌だ、しかし、バグは治したいという場合は、ネットで質問をしてみましょう。
なお、よくある質問は、FAQに答えが書いてありますので、質問する前に確認してください。
QA

バグを質問するには、バグの内容と、バグを再現するためのUPS差分が必要です。
これらを最も簡単に作るには、「メニュー」->「ファイル」->「問題報告ツール」を利用することです。
このツールを利用すると、エラーの再現に必要なups patchを自動的に作成し、7z形式にまとめて圧縮してくれます。
https://i.imgur.com/kPI99wk.jpg
この7zをコミニティ添付して質問してください。
親切な人が答えてくれるかもしれません。
Discord(chat) 

FAQにも書いてありますが、書き込むときは、あなたが日常的に利用している母国語で書いてください。
機械翻訳した言葉で投稿されると、余計に意味が分からなくなるので、やめてください。
あなたが日常的に利用している言語で投稿してください。

私たちは改造FEの話題に飢えているので、あなたの投稿を歓迎します。