// Token: 0x06000977 RID: 2423 RVA: 0x003B60B8 File Offset: 0x003B42B8 private static bool Write(SafeHandle fileHandle, CrashDump.Options options, CrashDump.ExceptionInfo exceptionInfo) { if (!Platform.IsWindows) { return(false); } Process expr_0E = Process.GetCurrentProcess(); IntPtr handle = expr_0E.Handle; uint id = (uint)expr_0E.Id; CrashDump.MiniDumpExceptionInformation miniDumpExceptionInformation; miniDumpExceptionInformation.ThreadId = CrashDump.GetCurrentThreadId(); miniDumpExceptionInformation.ClientPointers = false; miniDumpExceptionInformation.ExceptionPointers = IntPtr.Zero; if (exceptionInfo == CrashDump.ExceptionInfo.Present) { miniDumpExceptionInformation.ExceptionPointers = Marshal.GetExceptionPointers(); } bool result; if (miniDumpExceptionInformation.ExceptionPointers == IntPtr.Zero) { result = CrashDump.MiniDumpWriteDump(handle, id, fileHandle, (uint)options, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero); } else { result = CrashDump.MiniDumpWriteDump(handle, id, fileHandle, (uint)options, ref miniDumpExceptionInformation, IntPtr.Zero, IntPtr.Zero); } return(result); }
private static bool Write(SafeHandle fileHandle, CrashDump.Options options, CrashDump.ExceptionInfo exceptionInfo) { if (!Platform.IsWindows) { return(false); } var currentProcess = Process.GetCurrentProcess(); var handle = currentProcess.Handle; var id = (uint)currentProcess.Id; CrashDump.MiniDumpExceptionInformation expParam; expParam.ThreadId = CrashDump.GetCurrentThreadId(); expParam.ClientPointers = false; expParam.ExceptionPointers = IntPtr.Zero; if (exceptionInfo == CrashDump.ExceptionInfo.Present) { expParam.ExceptionPointers = Marshal.GetExceptionPointers(); } return(!(expParam.ExceptionPointers == IntPtr.Zero) ? CrashDump.MiniDumpWriteDump(handle, id, fileHandle, (uint)options, ref expParam, IntPtr.Zero, IntPtr.Zero) : CrashDump.MiniDumpWriteDump(handle, id, fileHandle, (uint)options, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero)); }
private static bool Write(CrashDump.Options options, CrashDump.ExceptionInfo exceptionInfo, string outputDirectory) { if (!Platform.get_IsWindows()) { return(false); } string path = Path.Combine(outputDirectory, CrashDump.CreateDumpName()); if (!Directory.Exists(outputDirectory)) { Directory.CreateDirectory(outputDirectory); } using (FileStream fileStream = File.Create(path)) return(CrashDump.Write((SafeHandle)fileStream.SafeFileHandle, options, exceptionInfo)); }
// Token: 0x06000976 RID: 2422 RVA: 0x003B6054 File Offset: 0x003B4254 private static bool Write(CrashDump.Options options, CrashDump.ExceptionInfo exceptionInfo, string outputDirectory) { if (!Platform.IsWindows) { return(false); } string arg_23_0 = Path.Combine(outputDirectory, CrashDump.CreateDumpName()); if (!Directory.Exists(outputDirectory)) { Directory.CreateDirectory(outputDirectory); } bool result; using (FileStream fileStream = File.Create(arg_23_0)) { result = CrashDump.Write(fileStream.SafeFileHandle, options, exceptionInfo); } return(result); }