mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-02 06:40:42 -07:00
signal: avoid spamming log with hook hit messages (#550)
## Link to GitHub Issue, if one exists n/a ## Description of change Some people have weird DLLs that keep calling `AddVectoredExceptionHandler` which ends up spamming the log. ## Testing Tested IIDX with error + signaldisable to confirm the warning message being shown, ran Polaris Chord once to check "hook hit" message.
This commit is contained in:
@@ -1385,6 +1385,18 @@ int main_implementation(int argc, char *argv[]) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (launcher::signal::DISABLE && !cfg::CONFIGURATOR_STANDALONE) {
|
||||||
|
log_warning(
|
||||||
|
"launcher",
|
||||||
|
"WARNING - user specified -signaldisable option\n\n\n"
|
||||||
|
"!!! !!!\n"
|
||||||
|
"!!! Using -signaldisable option disables all exception handling, !!!\n"
|
||||||
|
"!!! which means when the game crashes it will likely just vanish !!!\n"
|
||||||
|
"!!! without troubleshooting information in the logs. !!!\n"
|
||||||
|
"!!! !!!\n"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (options[launcher::Options::FullscreenResolution].is_active()) {
|
if (options[launcher::Options::FullscreenResolution].is_active()) {
|
||||||
std::pair<uint32_t, uint32_t> result;
|
std::pair<uint32_t, uint32_t> result;
|
||||||
if (parse_width_height(options[launcher::Options::FullscreenResolution].value_text(), result)) {
|
if (parse_width_height(options[launcher::Options::FullscreenResolution].value_text(), result)) {
|
||||||
|
|||||||
@@ -185,21 +185,30 @@ static LONG WINAPI TopLevelExceptionFilter(struct _EXCEPTION_POINTERS *Exception
|
|||||||
}
|
}
|
||||||
|
|
||||||
static BOOL WINAPI SetConsoleCtrlHandler_hook(PHANDLER_ROUTINE pHandlerRoutine, BOOL Add) {
|
static BOOL WINAPI SetConsoleCtrlHandler_hook(PHANDLER_ROUTINE pHandlerRoutine, BOOL Add) {
|
||||||
log_misc("signal", "SetConsoleCtrlHandler hook hit");
|
static std::once_flag printed;
|
||||||
|
std::call_once(printed, []() {
|
||||||
|
log_misc("signal", "SetConsoleCtrlHandler hook hit (printing once)");
|
||||||
|
});
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter_hook(
|
static LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter_hook(
|
||||||
LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter)
|
LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter) {
|
||||||
{
|
|
||||||
log_info("signal", "SetUnhandledExceptionFilter hook hit");
|
static std::once_flag printed;
|
||||||
|
std::call_once(printed, []() {
|
||||||
|
log_info("signal", "SetUnhandledExceptionFilter hook hit (printing once)");
|
||||||
|
});
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static PVOID WINAPI AddVectoredExceptionHandler_hook(ULONG First, PVECTORED_EXCEPTION_HANDLER Handler) {
|
static PVOID WINAPI AddVectoredExceptionHandler_hook(ULONG First, PVECTORED_EXCEPTION_HANDLER Handler) {
|
||||||
log_info("signal", "AddVectoredExceptionHandler hook hit");
|
static std::once_flag printed;
|
||||||
|
std::call_once(printed, []() {
|
||||||
|
log_info("signal", "AddVectoredExceptionHandler hook hit (printing once)");
|
||||||
|
});
|
||||||
|
|
||||||
return launcher::signal::USE_VEH_WORKAROUND ? INVALID_HANDLE_VALUE : nullptr;
|
return launcher::signal::USE_VEH_WORKAROUND ? INVALID_HANDLE_VALUE : nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user