// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "base/debug/debugger.h"

#include <stdlib.h>
#include <windows.h>

#include "base/test/clang_coverage.h"
#include "starboard/types.h"

namespace base {
namespace debug {

bool BeingDebugged() {
  return ::IsDebuggerPresent() != 0;
}

void BreakDebugger() {
#if defined(CLANG_COVERAGE)
  WriteClangCoverageProfile();
#endif

  if (IsDebugUISuppressed())
    _exit(1);

  __debugbreak();
}

}  // namespace debug
}  // namespace base
