diff options
author | Russ Keldorph <Russ.Keldorph@microsoft.com> | 2016-11-07 14:40:14 -0800 |
---|---|---|
committer | Russ Keldorph <Russ.Keldorph@microsoft.com> | 2016-11-09 10:02:32 -0800 |
commit | ca5f9f4f76a290379e0246c2da00293739c467f3 (patch) | |
tree | 4606ce80a21e14b1bb45b293127c0be741a9bba5 /src/inc | |
parent | 44597321141a1364cbebb6c610db26a718e3d209 (diff) | |
download | coreclr-ca5f9f4f76a290379e0246c2da00293739c467f3.tar.gz coreclr-ca5f9f4f76a290379e0246c2da00293739c467f3.tar.bz2 coreclr-ca5f9f4f76a290379e0246c2da00293739c467f3.zip |
Disable GUI dialogs on Windows by default
This change disables creating pop-up dialog boxes by default on Windows
when assertions fail. The change consists of two pieces:
1) Make COMPlus_NoGuiOnAssert effective in Release builds (currently only
Debug/Checked builds)
2) Make DebuggerAssert::ShowDefaultAssertDialog honor the
COMPlus_NoGuiOnAssert variable.
3) Make COMPlus_NoGuiOnAssert=1 by default.
Note that COMPlus_NoGuiOnAssert was already honored for assertions
originating from native code such as the JIT. If pop-ups are desired,
one can still set COMPlus_NoGuiOnAssert=0.
Fixes #7678
Diffstat (limited to 'src/inc')
-rw-r--r-- | src/inc/clrconfigvalues.h | 4 | ||||
-rw-r--r-- | src/inc/utilcode.h | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/inc/clrconfigvalues.h b/src/inc/clrconfigvalues.h index 3e166da9cb..78a7719600 100644 --- a/src/inc/clrconfigvalues.h +++ b/src/inc/clrconfigvalues.h @@ -1128,12 +1128,12 @@ CONFIG_DWORD_INFO_EX(INTERNAL_MscorsnLogging, W("MscorsnLogging"), 0, "Enables s RETAIL_CONFIG_DWORD_INFO_EX(EXTERNAL_NativeImageRequire, W("NativeImageRequire"), 0, "", CLRConfig::REGUTIL_default) CONFIG_DWORD_INFO_EX(INTERNAL_NestedEhOom, W("NestedEhOom"), 0, "", CLRConfig::REGUTIL_default) RETAIL_CONFIG_DWORD_INFO_EX(EXTERNAL_NO_SO_NOT_MAINLINE, W("NO_SO_NOT_MAINLINE"), 0, "", CLRConfig::REGUTIL_default) -#if defined(CROSSGEN_COMPILE) +#if defined(CROSSGEN_COMPILE) || defined(FEATURE_CORECLR) #define INTERNAL_NoGuiOnAssert_Default 1 #else #define INTERNAL_NoGuiOnAssert_Default 0 #endif -CONFIG_DWORD_INFO_EX(INTERNAL_NoGuiOnAssert, W("NoGuiOnAssert"), INTERNAL_NoGuiOnAssert_Default, "", CLRConfig::REGUTIL_default) +RETAIL_CONFIG_DWORD_INFO_EX(INTERNAL_NoGuiOnAssert, W("NoGuiOnAssert"), INTERNAL_NoGuiOnAssert_Default, "", CLRConfig::REGUTIL_default) RETAIL_CONFIG_DWORD_INFO_EX(EXTERNAL_NoProcedureSplitting, W("NoProcedureSplitting"), 0, "", CLRConfig::REGUTIL_default) CONFIG_DWORD_INFO_EX(INTERNAL_NoStringInterning, W("NoStringInterning"), 1, "Disallows string interning. I see no value in it anymore.", CLRConfig::REGUTIL_default) RETAIL_CONFIG_DWORD_INFO_DIRECT_ACCESS(EXTERNAL_NotifyBadAppCfg, W("NotifyBadAppCfg"), "Whether to show a message box for bad application config file.") diff --git a/src/inc/utilcode.h b/src/inc/utilcode.h index c519e8b872..a5857e8dde 100644 --- a/src/inc/utilcode.h +++ b/src/inc/utilcode.h @@ -5170,6 +5170,11 @@ template<class T> void DeleteExecutable(T *p) INDEBUG(BOOL DbgIsExecutable(LPVOID lpMem, SIZE_T length);) +BOOL NoGuiOnAssert(); +#ifdef _DEBUG +VOID TerminateOnAssert(); +#endif // _DEBUG + class HighCharHelper { public: static inline BOOL IsHighChar(int c) { |