mirror of
https://github.com/UltimMC/Launcher.git
synced 2026-01-22 01:24:29 +00:00
Implement backtraces on Windows.
Much !!FUN!! was had
This commit is contained in:
@@ -81,12 +81,18 @@ set(CRASH_HANDLER_IMPL "")
|
||||
message(STATUS "Crash dumps are ${MultiMC_HANDLE_SEGV}")
|
||||
if (MultiMC_HANDLE_SEGV)
|
||||
add_definitions(-DHANDLE_SEGV)
|
||||
if (WIN32)
|
||||
find_package(DbgHelp)
|
||||
set(MultiMC_LINK_ADDITIONAL_LIBS "${MultiMC_LINK_ADDITIONAL_LIBS}dbghelp")
|
||||
set(MultiMC_CRASH_HANDLER_EXTRA_H "WinBacktrace.h")
|
||||
set(MultiMC_CRASH_HANDLER_EXTRA_CPP "WinBacktrace.cpp")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
option(MultiMC_TEST_SEGV "Intentionally segfault on startup to test crash handling." OFF)
|
||||
option(MultiMC_TEST_SEGV "Intentionally segfault sometimes to test crash handling." OFF)
|
||||
if (MultiMC_TEST_SEGV)
|
||||
# TODO: Make this a unit test instead.
|
||||
message(WARNING "You have enabled crash handler testing. MULTIMC WILL INTENTIONALLY CRASH ITSELF ON STARTUP.")
|
||||
message(WARNING "You have enabled crash handler testing. MULTIMC WILL INTENTIONALLY CRASH ITSELF. Crashes should occur on exit and when the new instance button is pressed.")
|
||||
add_definitions(-DTEST_SEGV)
|
||||
endif ()
|
||||
|
||||
@@ -268,6 +274,8 @@ SET(MULTIMC_SOURCES
|
||||
# Crash handling
|
||||
HandleCrash.h
|
||||
HandleCrash.cpp
|
||||
${MultiMC_CRASH_HANDLER_EXTRA_H} # Extra platform specific stuff
|
||||
${MultiMC_CRASH_HANDLER_EXTRA_CPP}
|
||||
|
||||
# Logging
|
||||
logger/QsDebugOutput.cpp
|
||||
|
||||
Reference in New Issue
Block a user