debugger.cc revision 513209b27ff55e2841eac0e4120199c23acce758
1513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch// found in the LICENSE file. 4513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 5513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch#include "base/debug/debugger.h" 6513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 7513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch#include "base/platform_thread.h" 8513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 9513209b27ff55e2841eac0e4120199c23acce758Ben Murdochnamespace base { 10513209b27ff55e2841eac0e4120199c23acce758Ben Murdochnamespace debug { 11513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 12513209b27ff55e2841eac0e4120199c23acce758Ben Murdochbool WaitForDebugger(int wait_seconds, bool silent) { 13513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch for (int i = 0; i < wait_seconds * 10; ++i) { 14513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch if (BeingDebugged()) { 15513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch if (!silent) 16513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch BreakDebugger(); 17513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch return true; 18513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch } 19513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch PlatformThread::Sleep(100); 20513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch } 21513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch return false; 22513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} 23513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch 24513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} // namespace debug 25513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch} // namespace base 26