Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Write() [3/3]

static bool Terraria.Utilities.CrashDump.Write ( SafeHandle fileHandle,
Options options,
ExceptionInfo exceptionInfo )
inlinestaticprivate

Definition at line 86 of file CrashDump.cs.

87 {
89 {
90 return false;
91 }
92 Process currentProcess = Process.GetCurrentProcess();
93 IntPtr handle = currentProcess.Handle;
94 uint id = (uint)currentProcess.Id;
95 MiniDumpExceptionInformation expParam = default(MiniDumpExceptionInformation);
96 expParam.ThreadId = GetCurrentThreadId();
97 expParam.ClientPointers = false;
98 expParam.ExceptionPointers = IntPtr.Zero;
99 if (exceptionInfo == ExceptionInfo.Present)
100 {
101 expParam.ExceptionPointers = Marshal.GetExceptionPointers();
102 }
103 bool flag = false;
104 if (expParam.ExceptionPointers == IntPtr.Zero)
105 {
106 return MiniDumpWriteDump(handle, id, fileHandle, (uint)options, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);
107 }
108 return MiniDumpWriteDump(handle, id, fileHandle, (uint)options, ref expParam, IntPtr.Zero, IntPtr.Zero);
109 }
static bool IsWindows
Definition Platform.cs:19
static Process GetCurrentProcess()
Definition Process.cs:1107
static uint GetCurrentThreadId()
static bool MiniDumpWriteDump(IntPtr hProcess, uint processId, SafeHandle hFile, uint dumpType, ref MiniDumpExceptionInformation expParam, IntPtr userStreamParam, IntPtr callbackParam)
static readonly IntPtr Zero
Definition IntPtr.cs:18

References Terraria.Utilities.CrashDump.MiniDumpExceptionInformation.ExceptionPointers, System.Diagnostics.Process.GetCurrentProcess(), Terraria.Utilities.CrashDump.GetCurrentThreadId(), System.Runtime.InteropServices.Marshal.GetExceptionPointers(), System.Diagnostics.Process.Handle, System.handle, System.Diagnostics.Process.Id, ReLogic.OS.Platform.IsWindows, Terraria.Utilities.CrashDump.MiniDumpWriteDump(), System.options, and System.IntPtr.Zero.