diff options
Diffstat (limited to 'shared/debugNew.cpp')
-rw-r--r-- | shared/debugNew.cpp | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/shared/debugNew.cpp b/shared/debugNew.cpp deleted file mode 100644 index dad0cdd0..00000000 --- a/shared/debugNew.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// ************************************************************************** -// * This file is part of the FreeFileSync project. It is distributed under * -// * GNU General Public License: http://www.gnu.org/licenses/gpl.html * -// * Copyright (C) 2008-2010 ZenJu (zhnmju123 AT gmx.de) * -// ************************************************************************** -// -#include "debugNew.h" -#include <wx/msw/wrapwin.h> //includes "windows.h" -#include "DbgHelp.h" - -#pragma message("Warning! Include this header for error analysis builds only!") -#ifndef _MSC_VER -use in Visual C++ only! -#endif - - -namespace -{ -LONG WINAPI writeDumpOnException(EXCEPTION_POINTERS* pExceptionInfo) -{ - HANDLE hFile = ::CreateFile(L"FFS_exception.dmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - - MINIDUMP_EXCEPTION_INFORMATION exInfo; - exInfo.ThreadId = ::GetCurrentThreadId(); - exInfo.ExceptionPointers = pExceptionInfo; - exInfo.ClientPointers = NULL; - - MINIDUMP_EXCEPTION_INFORMATION* exceptParam = pExceptionInfo ? &exInfo : NULL; - - ::MiniDumpWriteDump( - GetCurrentProcess(), //__in HANDLE hProcess, - GetCurrentProcessId(), //__in DWORD ProcessId, - hFile, //__in HANDLE hFile, - MiniDumpWithDataSegs, //__in MINIDUMP_TYPE DumpType, ->Standard: MiniDumpNormal, Medium: MiniDumpWithDataSegs, Full: MiniDumpWithFullMemory - exceptParam, //__in PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, - NULL, //__in PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, - NULL //__in PMINIDUMP_CALLBACK_INFORMATION CallbackParam - ); - - ::CloseHandle(hFile); - - return EXCEPTION_EXECUTE_HANDLER; -} - - -struct WriteDumpOnUnhandledException -{ - WriteDumpOnUnhandledException() - { - ::SetUnhandledExceptionFilter(writeDumpOnException); - } -} dummy; //ensure that a Dump is written for uncaught exceptions -} - - -void MemoryDump::writeMinidump() -{ - writeDumpOnException(NULL); -} |