コード例 #1
0
ファイル: Program.cs プロジェクト: Jure-BB/MiniDumpInCSharp
        private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
        {
            var dumpFileName = DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".dmp";

            using (var file = new FileStream(dumpFileName, FileMode.Create))
            {
                var info = new MinidumpExceptionInformation
                {
                    ThreadId          = GetCurrentThreadId(),
                    ExceptionPointers = Marshal.GetExceptionPointers(),
                    ClientPointers    = false
                };

                MiniDumpWriteDump(
                    GetCurrentProcess(),
                    GetCurrentProcessId(),
                    file.SafeFileHandle,
                    MinidumpType.WithFullMemory,
                    ref info,
                    IntPtr.Zero,
                    IntPtr.Zero);
            }

            Process.GetCurrentProcess().Kill();
        }
コード例 #2
0
 internal static extern Boolean MiniDumpWriteDump(
     IntPtr hProcess,
     UInt32 ProcessId,
     SafeFileHandle hFile,
     MinidumpType DumpType,
     ref MinidumpExceptionInformation ExceptionParam,
     IntPtr UserStreamParam,
     IntPtr CallbackParam);