プロジェクト起動時、初期化中のまま固まるようになる事象が頻発するのですが、何か心当たりあるでしょうか?
パターンとしては、C++のコンパイルエラー(一目でわかるものではなく、クリーン後に出てくるようなもの)が残った状態でUE4Editerを開くと本事象が再現されます。
こうなった場合の良い復帰方法はないのでしょうか。。調べてみてもあまり情報が無く…助言いただければ幸いです。
【追記】
現状は変更したファイルをエクスプローラーでバックアップし、チェックアウトでGitから動く状態のモノを持ってきて復帰させたりして対応しますが、非常に手間です。。
また、こういった事象は頻発するものなのかというのも伺いたいです。
C++コードで問題がありそうです。
オブジェクトを初期化するコンストラクタの方でバグがあるかなと思います。
正常に動作するようになりました!
UE4側でもコンパイルエラーが出ていませんでしたが、この場合ってもうどうしようもないのでしょうか。。
そうですね。バグを探して直すしかないです。コンパイルが通ってもUE4側でバグ、エラーがないということではありません。
その場合C++コードで問題がある可能性が高いですね。
特にC言語はポインタを使ってますので、ポインタを間違えて使った場合
コンパイルは通ってもクラッシュが起こることがあります。
今回のバグの原因もポインタでしたね、ポインタは本当に厄介ですね。。
クラッシュが起きた場合、現場ではどのような対応を行うことが多いでしょうか?
エラーを検出するためにassert関数を使います。
UE4でもデバッグするためにアサート機能をサポートしています。
詳しくはアサートで検索すればすぐ出てきます。
アサーションってやつですね。
ポインタを扱う時はアサートを使ったら、もしポインタに問題がある時は
メモリー情報、呼び出し情報を確認できますのでデバッグが楽になります。