Reviewers: Mads Ager,

Description:
Change the handling of OS::Abort on Windows to enter the debugger if the
process is being debugged.

Please review this at http://codereview.chromium.org/11522

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/platform-win32.cc


Index: src/platform-win32.cc
===================================================================
--- src/platform-win32.cc       (revision 793)
+++ src/platform-win32.cc       (working copy)
@@ -48,6 +48,9 @@
  #ifndef NOMCX
  #define NOMCX
  #endif
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT 0x500
+#endif

  #include <windows.h>

@@ -781,10 +784,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