Compare commits
7 commits
2ca36e1bd7
...
3c42287bbf
Author | SHA1 | Date | |
---|---|---|---|
3c42287bbf | |||
88407ad7af | |||
3fd024a8c9 | |||
cf95b004e0 | |||
172a0c3857 | |||
094403d690 | |||
2506909fc4 |
3 changed files with 5 additions and 10 deletions
|
@ -658,7 +658,7 @@ if(ENABLE_QT)
|
||||||
set_target_properties(Qt6::Platform PROPERTIES INTERFACE_COMPILE_FEATURES "")
|
set_target_properties(Qt6::Platform PROPERTIES INTERFACE_COMPILE_FEATURES "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (YUZU_CRASH_DUMPS)
|
if (WIN32 AND YUZU_CRASH_DUMPS)
|
||||||
set(BREAKPAD_VER "breakpad-c89f9dd")
|
set(BREAKPAD_VER "breakpad-c89f9dd")
|
||||||
download_bundled_external("breakpad/" ${BREAKPAD_VER} "breakpad-win" BREAKPAD_PREFIX "c89f9dd")
|
download_bundled_external("breakpad/" ${BREAKPAD_VER} "breakpad-win" BREAKPAD_PREFIX "c89f9dd")
|
||||||
|
|
||||||
|
|
|
@ -251,7 +251,9 @@ if (YUZU_CRASH_DUMPS)
|
||||||
breakpad.cpp
|
breakpad.cpp
|
||||||
breakpad.h
|
breakpad.h
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(yuzu PRIVATE libbreakpad_client)
|
target_link_libraries(yuzu PRIVATE libbreakpad_client)
|
||||||
|
target_compile_definitions(yuzu PRIVATE YUZU_CRASH_DUMPS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
||||||
|
|
||||||
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
@ -11,8 +8,6 @@
|
||||||
#include <client/windows/handler/exception_handler.h>
|
#include <client/windows/handler/exception_handler.h>
|
||||||
#elif defined(__linux__)
|
#elif defined(__linux__)
|
||||||
#include <client/linux/handler/exception_handler.h>
|
#include <client/linux/handler/exception_handler.h>
|
||||||
#elif defined(__sun__)
|
|
||||||
#include <client/solaris/handler/exception_handler.h>
|
|
||||||
#else
|
#else
|
||||||
#error Minidump creation not supported on this platform
|
#error Minidump creation not supported on this platform
|
||||||
#endif
|
#endif
|
||||||
|
@ -54,7 +49,7 @@ static void PruneDumpDirectory(const std::filesystem::path& dump_path) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __linux__
|
#if defined(__linux__)
|
||||||
[[noreturn]] bool DumpCallback(const google_breakpad::MinidumpDescriptor& descriptor, void* context,
|
[[noreturn]] bool DumpCallback(const google_breakpad::MinidumpDescriptor& descriptor, void* context,
|
||||||
bool succeeded) {
|
bool succeeded) {
|
||||||
// Prevent time- and space-consuming core dumps from being generated, as we have
|
// Prevent time- and space-consuming core dumps from being generated, as we have
|
||||||
|
@ -68,7 +63,7 @@ void InstallCrashHandler() {
|
||||||
const auto dump_path = GetEdenPath(Common::FS::EdenPath::CrashDumpsDir);
|
const auto dump_path = GetEdenPath(Common::FS::EdenPath::CrashDumpsDir);
|
||||||
PruneDumpDirectory(dump_path);
|
PruneDumpDirectory(dump_path);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#if defined(_WIN32)
|
||||||
// TODO: If we switch to MinGW builds for Windows, this needs to be wrapped in a C API.
|
// TODO: If we switch to MinGW builds for Windows, this needs to be wrapped in a C API.
|
||||||
static google_breakpad::ExceptionHandler eh{dump_path, nullptr, nullptr, nullptr,
|
static google_breakpad::ExceptionHandler eh{dump_path, nullptr, nullptr, nullptr,
|
||||||
google_breakpad::ExceptionHandler::HANDLER_ALL};
|
google_breakpad::ExceptionHandler::HANDLER_ALL};
|
||||||
|
@ -76,8 +71,6 @@ void InstallCrashHandler() {
|
||||||
static google_breakpad::MinidumpDescriptor descriptor{dump_path};
|
static google_breakpad::MinidumpDescriptor descriptor{dump_path};
|
||||||
static google_breakpad::ExceptionHandler eh{descriptor, nullptr, DumpCallback,
|
static google_breakpad::ExceptionHandler eh{descriptor, nullptr, DumpCallback,
|
||||||
nullptr, true, -1};
|
nullptr, true, -1};
|
||||||
#elif defined(__sun__)
|
|
||||||
static google_breakpad::ExceptionHandler eh{dump_path, nullptr, DumpCallback, nullptr, true};
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue