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
This commit is contained in:
parent
917bf2200a
commit
40cd237bae
@ -48,6 +48,11 @@
|
|||||||
#ifndef NOMCX
|
#ifndef NOMCX
|
||||||
#define NOMCX
|
#define NOMCX
|
||||||
#endif
|
#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>
|
#include <windows.h>
|
||||||
|
|
||||||
@ -781,10 +786,14 @@ void OS::Sleep(int milliseconds) {
|
|||||||
|
|
||||||
|
|
||||||
void OS::Abort() {
|
void OS::Abort() {
|
||||||
// Make the MSVCRT do a silent abort.
|
if (!IsDebuggerPresent()) {
|
||||||
_set_abort_behavior(0, _WRITE_ABORT_MSG);
|
// Make the MSVCRT do a silent abort.
|
||||||
_set_abort_behavior(0, _CALL_REPORTFAULT);
|
_set_abort_behavior(0, _WRITE_ABORT_MSG);
|
||||||
abort();
|
_set_abort_behavior(0, _CALL_REPORTFAULT);
|
||||||
|
abort();
|
||||||
|
} else {
|
||||||
|
DebugBreak();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user