Example #1
0
        public static ErrorReport GetErrorReportFromIntPtr(IntPtr errorReportPtr)
        {
            if (errorReportPtr == IntPtr.Zero)
            {
                return(null);
            }
            var            procId          = app_center_unity_crashes_error_report_app_process_identifier(errorReportPtr);
            var            identifier      = app_center_unity_crashes_error_report_incident_identifier(errorReportPtr);
            var            exceptionName   = app_center_unity_crashes_error_report_exception_name(errorReportPtr);
            var            reporterKey     = app_center_unity_crashes_error_report_reporter_key(errorReportPtr);
            var            reporterSignal  = app_center_unity_crashes_error_report_signal(errorReportPtr);
            var            exceptionReason = app_center_unity_crashes_error_report_exception_reason(errorReportPtr);
            var            startTime       = app_center_unity_crashes_error_report_app_start_time(errorReportPtr);
            DateTimeOffset dtoStart        = DateTimeOffset.UtcNow;

            if (startTime != null)
            {
                dtoStart = DateTimeOffset.Parse(startTime);
            }
            var            errorTime = app_center_unity_crashes_error_report_app_error_time(errorReportPtr);
            DateTimeOffset dtoError  = DateTimeOffset.UtcNow;

            if (errorTime != null)
            {
                dtoError = DateTimeOffset.Parse(errorTime);
            }
            var isAppKill = app_center_unity_crashes_error_report_is_app_kill(errorReportPtr);
            var exception = new Models.Exception(exceptionName + ": " + exceptionReason, "");
            var device    = GetDevice(errorReportPtr);

            return(new ErrorReport(identifier, dtoStart, dtoError, exception, procId, reporterKey, reporterSignal, isAppKill, device));
        }
Example #2
0
        public void OnException(ExceptionContext context)
        {
            var exp = new Models.Exception();

            if (this.hostingEnvironment.IsDevelopment())
            {
                exp.Message = context.Exception.Message;
                exp.Details = context.Exception.StackTrace;
            }
            else
            {
                exp.Message = "Server Error";
                exp.Details = context.Exception.Message;
            }

            context.Result = new ObjectResult(exp)
            {
                StatusCode = 500
            };
        }