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
-~----------~----~----~----~------~----~------~--~---

Reply via email to