Commit 40cd237b authored by sgjesse@chromium.org's avatar sgjesse@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 917bf220
......@@ -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::Sleep(int milliseconds) {
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();
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment