Skip to content

Commit e4a428d

Browse files
committed
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 <[email protected]>
1 parent c54376c commit e4a428d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

compat/mingw.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3024,6 +3024,10 @@ static void maybe_redirect_std_handles(void)
30243024

30253025
#if defined(_MSC_VER)
30263026

3027+
#ifdef _DEBUG
3028+
#include <crtdbg.h>
3029+
#endif
3030+
30273031
/*
30283032
* This routine sits between wmain() and "main" in git.exe.
30293033
* We receive UNICODE (wchar_t) values for argv and env.
@@ -3048,6 +3052,10 @@ int msc_startup(int argc, wchar_t **w_argv, wchar_t **w_env)
30483052
int maxlen;
30493053
int k, exit_status;
30503054

3055+
#ifdef _DEBUG
3056+
_CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG);
3057+
#endif
3058+
30513059
#ifdef USE_MSVC_CRTDBG
30523060
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
30533061
#endif

0 commit comments

Comments
 (0)