| Index: src/platform-win32.cc
|
| ===================================================================
|
| --- src/platform-win32.cc (revision 793)
|
| +++ src/platform-win32.cc (working copy)
|
| @@ -48,6 +48,11 @@
|
| #ifndef NOMCX
|
| #define NOMCX
|
| #endif
|
| +// Require Windows 2000 or higher (this is required for the IsDebuggerPresent
|
| +// function to be present).
|
| +#ifndef _WIN32_WINNT
|
| +#define _WIN32_WINNT 0x500
|
| +#endif
|
|
|
| #include <windows.h>
|
|
|
| @@ -781,10 +786,14 @@
|
|
|
|
|
| void OS::Abort() {
|
| - // Make the MSVCRT do a silent abort.
|
| - _set_abort_behavior(0, _WRITE_ABORT_MSG);
|
| - _set_abort_behavior(0, _CALL_REPORTFAULT);
|
| - abort();
|
| + if (!IsDebuggerPresent()) {
|
| + // Make the MSVCRT do a silent abort.
|
| + _set_abort_behavior(0, _WRITE_ABORT_MSG);
|
| + _set_abort_behavior(0, _CALL_REPORTFAULT);
|
| + abort();
|
| + } else {
|
| + DebugBreak();
|
| + }
|
| }
|
|
|
|
|
|
|