Skip to content

Commit f1da2bb

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 b19853d commit f1da2bb

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
@@ -3025,6 +3025,10 @@ static void maybe_redirect_std_handles(void)
30253025

30263026
#if defined(_MSC_VER)
30273027

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

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

0 commit comments

Comments
 (0)