Thanks, I will check more with old redists.
Regarding _DEBUG, this is the standard one used in debug related macros. I thought using the same in internal CRT implementation may potentially introduce ambiguity (although should work). Do you think it is better to use that one?
On 21 Oct 2022, at 04:48, Piotr Caban (@piotr) wine@gitlab.winehq.org wrote:
Piotr Caban (@piotr) commented about dlls/msvcrt/exit.c:
if ((MSVCRT_error_mode == _OUT_TO_MSGBOX) || ((MSVCRT_error_mode == _OUT_TO_DEFAULT) && (MSVCRT_app_type == 2))) {
+#ifdef _CRTDEBUG DoMessageBox("Runtime error!", "abnormal program termination"); +#endif
The message box should be displayed in older versions of msvcr dlls (e.g. msvcr90). ucrtbase (I didn't test other versions) is also not printing any message to console.
Did you consider defining _DEBUG instead of _CRTDEBUG?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/1128#note_11675