Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(305)

Unified Diff: base/debug_on_start.h

Issue 5984007: Move base/debug_on_start to base/debugger and rename it to be _win since it... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/debug/debug_on_start_win.cc ('k') | base/debug_on_start.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/debug_on_start.h
===================================================================
--- base/debug_on_start.h (revision 70360)
+++ base/debug_on_start.h (working copy)
@@ -1,68 +0,0 @@
-// Copyright (c) 2006-2008 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.
-
-// Define the necessary code and global data to look for kDebugOnStart command
-// line argument. When the command line argument is detected, it invokes the
-// debugger, if no system-wide debugger is registered, a debug break is done.
-
-#ifndef BASE_DEBUG_ON_START_H_
-#define BASE_DEBUG_ON_START_H_
-#pragma once
-
-#include "base/basictypes.h"
-
-// This only works on Windows.
-#if defined(OS_WIN)
-
-#ifndef DECLSPEC_SELECTANY
-#define DECLSPEC_SELECTANY __declspec(selectany)
-#endif
-
-// Debug on start functions and data.
-class DebugOnStart {
- public:
- // Expected function type in the .CRT$XI* section.
- // Note: See VC\crt\src\internal.h for reference.
- typedef int (__cdecl *PIFV)(void);
-
- // Looks at the command line for kDebugOnStart argument. If found, it invokes
- // the debugger, if this fails, it crashes.
- static int __cdecl Init();
-
- // Returns true if the 'argument' is present in the 'command_line'. It does
- // not use the CRT, only Kernel32 functions.
- static bool FindArgument(wchar_t* command_line, const char* argument);
-};
-
-// Set the function pointer to our function to look for a crash on start. The
-// XIB section is started pretty early in the program initialization so in
-// theory it should be called before any user created global variable
-// initialization code and CRT initialization code.
-// Note: See VC\crt\src\defsects.inc and VC\crt\src\crt0.c for reference.
-#ifdef _WIN64
-
-// "Fix" the segment. On x64, the .CRT segment is merged into the .rdata segment
-// so it contains const data only.
-#pragma const_seg(push, ".CRT$XIB")
-// Declare the pointer so the CRT will find it.
-extern const DebugOnStart::PIFV debug_on_start;
-DECLSPEC_SELECTANY const DebugOnStart::PIFV debug_on_start =
- &DebugOnStart::Init;
-// Fix back the segment.
-#pragma const_seg(pop)
-
-#else // _WIN64
-
-// "Fix" the segment. On x86, the .CRT segment is merged into the .data segment
-// so it contains non-const data only.
-#pragma data_seg(push, ".CRT$XIB")
-// Declare the pointer so the CRT will find it.
-DECLSPEC_SELECTANY DebugOnStart::PIFV debug_on_start = &DebugOnStart::Init;
-// Fix back the segment.
-#pragma data_seg(pop)
-
-#endif // _WIN64
-#endif // defined(OS_WIN)
-
-#endif // BASE_DEBUG_ON_START_H_
« no previous file with comments | « base/debug/debug_on_start_win.cc ('k') | base/debug_on_start.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698