From 6402107a9401d1fea026137654a99d6b3ef91b4d Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 30 Nov 2016 22:26:20 +0100 Subject: [PATCH] msvc: avoid debug assertion windows in Debug Mode For regular debugging, it is pretty helpful when a debug assertion in a running application triggers a window that offers to start the debugger. However, when running the test suite, it is not so helpful, in particular when the debug assertions are then suppressed anyway because we disable the invalid parameter checking (via invalidcontinue.obj, see the comment in config.mak.uname about that object for more information). So let's simply disable that window in Debug Mode (it is already disabled in Release Mode). Signed-off-by: Johannes Schindelin --- compat/mingw.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compat/mingw.c b/compat/mingw.c index f3423275f0b2e7..13f47b478bc4be 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -3086,6 +3086,10 @@ static void maybe_redirect_std_handles(void) #if defined(_MSC_VER) +#ifdef _DEBUG +#include +#endif + /* * This routine sits between wmain() and "main" in git.exe. * We receive UNICODE (wchar_t) values for argv and env. @@ -3110,6 +3114,10 @@ int msc_startup(int argc, wchar_t **w_argv, wchar_t **w_env) int maxlen; int k, exit_status; +#ifdef _DEBUG + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG); +#endif + #ifdef USE_MSVC_CRTDBG _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); #endif