コード例 #1
0
 internal void OnApplicationPause(bool pause)
 {
     Breadcrumbs?.FromMonoBehavior("Application pause", LogType.Assert, new Dictionary <string, string> {
         { "paused", pause.ToString(CultureInfo.InvariantCulture).ToLower() }
     });
     _nativeClient?.PauseAnrThread(pause);
 }
コード例 #2
0
 private void Awake()
 {
     if (Breadcrumbs != null)
     {
         Breadcrumbs.FromMonoBehavior("Application awake", LogType.Assert, null);
     }
     Refresh();
 }
コード例 #3
0
        private void OnDestroy()
        {
            Enabled = false;
            Breadcrumbs?.FromMonoBehavior("Backtrace Client: OnDestroy", LogType.Warning, null);
            Breadcrumbs?.UnregisterEvents();
            Application.logMessageReceived         -= HandleUnityMessage;
            Application.logMessageReceivedThreaded -= HandleUnityBackgroundException;
#if UNITY_ANDROID || UNITY_IOS
            Application.lowMemory -= HandleLowMemory;
            _nativeClient?.Disable();
#endif
        }
コード例 #4
0
        /// <summary>
        /// ANR Detection event. This method will be replaced by Backtrace-Android soon native API.
        /// </summary>
        /// <param name="stackTrace">Main thread stack trace</param>
        internal void OnAnrDetected(string stackTrace)
        {
            if (!Enabled)
            {
                Debug.LogWarning("Please enable BacktraceClient first.");
                return;
            }

            const string anrMessage = "ANRException: Blocked thread detected";
            var          hang       = new BacktraceUnhandledException(anrMessage, stackTrace);

            Breadcrumbs?.FromMonoBehavior(anrMessage, LogType.Warning, new Dictionary <string, string> {
                { "stackTrace", stackTrace }
            });
            SendUnhandledException(hang);
        }