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)); }
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 }; }