Commit Graph

25 Commits (48ae42f87e82f26e696ba62c1f4de82d90949522)

Author SHA1 Message Date
Nicolas Hake 39bbcbb9ee Win32: Don't hook assertion handler when debugging
Sven2 reports he can't get reliable stack traces from his debugger when
the assertion handler is installed. Since there's no need for the hook
when we're already running under a debugger, don't install it.
2015-02-21 19:40:35 +01:00
Nicolas Hake 04df02c9df Win: Don't write a text crash dump if the log is already closed
Assertion failures or crashes during process shutdown must not write to
the log file if it is already closed, or the debugging CRT will raise
another assertion.
2015-02-16 18:14:29 +01:00
Nicolas Hake 57044a9eeb Move STATUS_ASSERTION_FAILURE definition to where it's actually needed 2015-01-18 21:55:16 +01:00
Nicolas Hake 8a729b4c6f Crash handler: Use PRIdPTR format where available
Printing pointers from the crash handler has been broken starting
with an update to MinGW at some point in the past, when they stopped
using printf from MSVCRT, instead replacing it with a private
implementation. Fix this by checking for inttypes.h availability, and
using it (and its format macro) when possible.
2015-01-15 10:18:37 +01:00
Nicolas Hake e0dc30c59a Update copyright notices
As discussed in http://forum.openclonk.org/topic_show.pl?tid=2917, I
have merged all copyright notices into a single file and referenced that
merged file from each source file.

For the updated source files, the timeline has been split into three
parts:
 1. Pre-RWD code (before 2001)
 2. RWD code (2001 through 2009)
 3. OpenClonk code (2009 and later)
All pre-RWD copyright notices have been left intact, as have RWD-era
copyright notices where the file did not have a RedWolf design copyright
notice but only individual author ones. All copyright notices of the
OpenClonk era have been replaced by a single notice ranging from the
first recorded year to the current year (2013). Mape code did not get a
OpenClonk Team copyright notice because it is somewhat separate from the
main OpenClonk codebase and has only been touched by Armin Burgmeier.
2013-12-23 13:03:19 +01:00
Nicolas Hake 6399d7f4a4 win32: Dump crashes to UserDataPath instead of cwd (#996)
The working directory on windows is very likely to be the directory of
the binary itself. If we've installed to Program Files, that means we
cannot actually write there. That means we have to find a better place
to write dumps, and the user directory is a better place.
2013-11-10 19:35:56 +01:00
Nicolas Hake f1d9abee68 win32: Disable callback crash filter on Vista
We're already disabling that filter on Windows 7 and up using the
application manifest, but Vista doesn't know about Windows 7
compatibility. Turn off the filter on Vista as well.
2013-11-10 19:22:27 +01:00
Nicolas Hake e33521c7ab Win32: Fix build without -fpermissive 2013-02-21 00:28:58 +01:00
Nicolas Hake ca6e474a15 Win32: optionally embed a build ID into crash dumps/minidump files
In order to get an embedded build ID, add a new CMake cache variable
named OC_BUILD_ID. This variable can contain an arbitrary string, but
it is suggested that you use a hierarchical string starting with your
DNS domain, reversed, as in "com.example.openclonk.arbitrarystring"
(think java packages).
2013-02-21 00:06:34 +01:00
Nicolas Hake 0c04606707 Win32: clean up crash handler pointer string format selection 2013-02-21 00:06:34 +01:00
Nicolas Hake d2719bedd6 Win32: Make crash handler show the full EFLAGS register 2013-02-21 00:06:33 +01:00
Nicolas Hake 041016d087 Win32: Make crash handler properly show modules in stack traces 2013-02-21 00:06:32 +01:00
Nicolas Hake cc672bbd00 win32: Automatically check for DbgHelp availability 2011-10-03 13:09:51 +02:00
Nicolas Hake f11bf6f368 win32: only hook assertion handler when assertions are enabled 2011-08-19 12:53:48 +02:00
Nicolas Hake d8f7a8ba01 mingw/w32-x86: Build fix 2011-08-15 02:27:47 +02:00
Nicolas Hake bae1cf4718 mingw: Define CONTEXT_ALL for older MinGW versions 2011-08-15 01:09:58 +02:00
Nicolas Hake 4e6f367c0a win32: Log a stack trace on assertion failure 2011-08-14 21:17:39 +02:00
Nicolas Hake 1b1b77c5a0 win32: Output wide module names/paths with %ls instead of %s 2011-08-14 21:16:12 +02:00
Nicolas Hake c5b92bba26 win32: Pass a wide filename to crash handler's CreateFile 2011-08-11 15:42:41 +02:00
Nicolas Hake 35745ed2a3 MinGW: Fix pointer output format on crash reporter 2011-03-13 20:36:20 +01:00
Günther Brammer c49f8b32d5 win32: wrap all windows.h-includes to always undef troubling macros 2011-03-13 15:48:45 +01:00
Günther Brammer 81b9297498 win32: include windows.h before dbghelp.h 2011-03-12 23:45:04 +01:00
Nicolas Hake d82815087e win32/g++: Silence some format warnings 2011-03-04 00:40:17 +01:00
Nicolas Hake 73ec989261 win32: Avoid build error when using old SDK headers 2011-03-04 00:08:11 +01:00
Nicolas Hake ff2ac49368 win32: Log human-readable crash info while writing minidump
The information that will be written to the logfile is the exception data,
processor control and GP registers (x86/x64), up to 512 bytes around the stack
pointer, a stack trace, and the list of loaded modules.
2011-03-01 13:28:13 +01:00