概要
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 を取得できました