Commit 98f09b5d authored by Rafaël Carré's avatar Rafaël Carré

winvlc: include address space layout in crash reports

Will help to 'undo' ASLR and make those reports useful
parent 1cbf94ae
...@@ -45,7 +45,7 @@ vlc_static_LDADD = $(vlc_LDADD) ...@@ -45,7 +45,7 @@ vlc_static_LDADD = $(vlc_LDADD)
vlc_static_LDFLAGS = $(vlc_LDFLAGS) vlc_static_LDFLAGS = $(vlc_LDFLAGS)
if HAVE_WIN32 if HAVE_WIN32
vlc_LDADD += -lwininet vlc_win32_rc.$(OBJEXT) vlc_LDADD += -lpsapi -lwininet vlc_win32_rc.$(OBJEXT)
vlc_DEPENDENCIES = vlc_win32_rc.$(OBJEXT) vlc_DEPENDENCIES = vlc_win32_rc.$(OBJEXT)
else else
vlc_LDADD += $(LIBDL) vlc_LDADD += $(LIBDL)
......
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
# endif # endif
# include <shlobj.h> # include <shlobj.h>
# include <wininet.h> # include <wininet.h>
# define PSAPI_VERSION 1
# include <psapi.h>
# define HeapEnableTerminationOnCorruption (HEAP_INFORMATION_CLASS)1 # define HeapEnableTerminationOnCorruption (HEAP_INFORMATION_CLASS)1
static void check_crashdump(void); static void check_crashdump(void);
LONG WINAPI vlc_exception_filter(struct _EXCEPTION_POINTERS *lpExceptionInfo); LONG WINAPI vlc_exception_filter(struct _EXCEPTION_POINTERS *lpExceptionInfo);
...@@ -343,6 +345,23 @@ LONG WINAPI vlc_exception_filter(struct _EXCEPTION_POINTERS *lpExceptionInfo) ...@@ -343,6 +345,23 @@ LONG WINAPI vlc_exception_filter(struct _EXCEPTION_POINTERS *lpExceptionInfo)
pContext->Ebp,pContext->Eip,pContext->Esp ); pContext->Ebp,pContext->Eip,pContext->Esp );
#endif #endif
HANDLE hpid = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
FALSE, GetCurrentProcessId());
if (hpid) {
HMODULE mods[1024];
DWORD size;
if (EnumProcessModules(hpid, mods, sizeof(mods), &size)) {
fwprintf( fd, L"\n\n[modules]\n" );
for (unsigned int i = 0; i < size / sizeof(HMODULE); i++) {
wchar_t module[ 256 ];
GetModuleFileName(mods[i], module, 256);
fwprintf( fd, L"%p|%s\n", mods[i], module);
}
}
CloseHandle(hpid);
}
fwprintf( fd, L"\n[stacktrace]\n#EIP|base|module\n" ); fwprintf( fd, L"\n[stacktrace]\n#EIP|base|module\n" );
#ifdef WIN64 #ifdef WIN64
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment