コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】意図的に強制終了できる「UnityEngine.Diagnostics.Utils.ForceCrash」

概要

using UnityEngine;
using UnityEngine.Diagnostics;

public class Example : MonoBehaviour
{
    private void Update()
    {
        if ( Input.GetKeyDown( KeyCode.Space ) )
        {
            Utils.ForceCrash( ForcedCrashCategory.AccessViolation );
        }
    }
}

UnityEngine.Diagnostics.Utils.ForceCrash を使用すると
意図的に強制終了させることができます

強制終了の種類

項目 内容
AccessViolation 無効なメモリアクセスによるクラッシュ
FatalError ネイティブの致命的なエラーによるクラッシュ
Abort abort 関数によるクラッシュ
PureVirtualFunction 純粋仮想関数の例外によるクラッシュ

結果

手元にあった iOS / Android 端末でどのような結果になるか調べてみました

項目 iOS Android
AccessViolation 強制終了した フリーズした
FatalError エラーログが出力された エラーログが出力された
Abort 強制終了した 強制終了した
PureVirtualFunction 強制終了した 強制終了した

iOS に関しては FatalError 以外は CrashReport を取得できました

参考サイト様

関連記事