1*6777b538SAndroid Build Coastguard Worker // Copyright 2010 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "base/debug/debugger.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include <windows.h> 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Worker #include <stdlib.h> 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker namespace base { 12*6777b538SAndroid Build Coastguard Worker namespace debug { 13*6777b538SAndroid Build Coastguard Worker BeingDebugged()14*6777b538SAndroid Build Coastguard Workerbool BeingDebugged() { 15*6777b538SAndroid Build Coastguard Worker return ::IsDebuggerPresent() != 0; 16*6777b538SAndroid Build Coastguard Worker } 17*6777b538SAndroid Build Coastguard Worker BreakDebuggerAsyncSafe()18*6777b538SAndroid Build Coastguard Workervoid BreakDebuggerAsyncSafe() { 19*6777b538SAndroid Build Coastguard Worker if (IsDebugUISuppressed()) 20*6777b538SAndroid Build Coastguard Worker _exit(1); 21*6777b538SAndroid Build Coastguard Worker 22*6777b538SAndroid Build Coastguard Worker __debugbreak(); 23*6777b538SAndroid Build Coastguard Worker } 24*6777b538SAndroid Build Coastguard Worker VerifyDebugger()25*6777b538SAndroid Build Coastguard Workervoid VerifyDebugger() {} 26*6777b538SAndroid Build Coastguard Worker 27*6777b538SAndroid Build Coastguard Worker } // namespace debug 28*6777b538SAndroid Build Coastguard Worker } // namespace base 29