Author: [EMAIL PROTECTED]
Date: Thu Nov 20 02:00:36 2008
New Revision: 802
Modified:
branches/bleeding_edge/src/platform-win32.cc
Log:
Change the handling of OS::Abort on Windows to enter the debugger if the
process is being debugged.
Review URL: http://codereview.chromium.org/11522
Modified: branches/bleeding_edge/src/platform-win32.cc
==============================================================================
--- branches/bleeding_edge/src/platform-win32.cc (original)
+++ branches/bleeding_edge/src/platform-win32.cc Thu Nov 20 02:00:36 2008
@@ -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();
+ }
}
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---