| Index: third_party/breakpad/src/client/windows/crash_generation/minidump_generator.h
|
| diff --git a/third_party/breakpad/src/client/windows/crash_generation/minidump_generator.h b/third_party/breakpad/src/client/windows/crash_generation/minidump_generator.h
|
| deleted file mode 100644
|
| index 5f9e4b54195d78f6ac1c2a12a4cd8fe4a26c9a95..0000000000000000000000000000000000000000
|
| --- a/third_party/breakpad/src/client/windows/crash_generation/minidump_generator.h
|
| +++ /dev/null
|
| @@ -1,135 +0,0 @@
|
| -// Copyright (c) 2008, Google Inc.
|
| -// All rights reserved.
|
| -//
|
| -// Redistribution and use in source and binary forms, with or without
|
| -// modification, are permitted provided that the following conditions are
|
| -// met:
|
| -//
|
| -// * Redistributions of source code must retain the above copyright
|
| -// notice, this list of conditions and the following disclaimer.
|
| -// * Redistributions in binary form must reproduce the above
|
| -// copyright notice, this list of conditions and the following disclaimer
|
| -// in the documentation and/or other materials provided with the
|
| -// distribution.
|
| -// * Neither the name of Google Inc. nor the names of its
|
| -// contributors may be used to endorse or promote products derived from
|
| -// this software without specific prior written permission.
|
| -//
|
| -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| -
|
| -#ifndef CLIENT_WINDOWS_CRASH_GENERATION_MINIDUMP_GENERATOR_H_
|
| -#define CLIENT_WINDOWS_CRASH_GENERATION_MINIDUMP_GENERATOR_H_
|
| -
|
| -#include <windows.h>
|
| -#include <dbghelp.h>
|
| -#include <list>
|
| -#include "google_breakpad/common/minidump_format.h"
|
| -
|
| -namespace google_breakpad {
|
| -
|
| -// Abstraction for various objects and operations needed to generate
|
| -// minidump on Windows. This abstraction is useful to hide all the gory
|
| -// details for minidump generation and provide a clean interface to
|
| -// the clients to generate minidumps.
|
| -class MinidumpGenerator {
|
| - public:
|
| - // Creates an instance with the given dump path.
|
| - explicit MinidumpGenerator(const std::wstring& dump_path);
|
| -
|
| - ~MinidumpGenerator();
|
| -
|
| - // Writes the minidump with the given parameters. Stores the
|
| - // dump file path in the dump_path parameter if dump generation
|
| - // succeeds.
|
| - bool WriteMinidump(HANDLE process_handle,
|
| - DWORD process_id,
|
| - DWORD thread_id,
|
| - DWORD requesting_thread_id,
|
| - EXCEPTION_POINTERS* exception_pointers,
|
| - MDRawAssertionInfo* assert_info,
|
| - MINIDUMP_TYPE dump_type,
|
| - bool is_client_pointers,
|
| - std::wstring* dump_path);
|
| -
|
| - // Writes the minidump with the given parameters. Stores the dump file
|
| - // path in the dump_path (and full_dump_path) parameter if dump
|
| - // generation succeeds. full_dump_path and dump_path can be NULL.
|
| - bool WriteMinidump(HANDLE process_handle,
|
| - DWORD process_id,
|
| - DWORD thread_id,
|
| - DWORD requesting_thread_id,
|
| - EXCEPTION_POINTERS* exception_pointers,
|
| - MDRawAssertionInfo* assert_info,
|
| - MINIDUMP_TYPE dump_type,
|
| - bool is_client_pointers,
|
| - std::wstring* dump_path,
|
| - std::wstring* full_dump_path);
|
| -
|
| - private:
|
| - // Function pointer type for MiniDumpWriteDump, which is looked up
|
| - // dynamically.
|
| - typedef BOOL (WINAPI* MiniDumpWriteDumpType)(
|
| - HANDLE hProcess,
|
| - DWORD ProcessId,
|
| - HANDLE hFile,
|
| - MINIDUMP_TYPE DumpType,
|
| - CONST PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
|
| - CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
|
| - CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam);
|
| -
|
| - // Function pointer type for UuidCreate, which is looked up dynamically.
|
| - typedef RPC_STATUS (RPC_ENTRY* UuidCreateType)(UUID* Uuid);
|
| -
|
| - // Loads the appropriate DLL lazily in a thread safe way.
|
| - HMODULE GetDbghelpModule();
|
| -
|
| - // Loads the appropriate DLL and gets a pointer to the MiniDumpWriteDump
|
| - // function lazily and in a thread-safe manner.
|
| - MiniDumpWriteDumpType GetWriteDump();
|
| -
|
| - // Loads the appropriate DLL lazily in a thread safe way.
|
| - HMODULE GetRpcrt4Module();
|
| -
|
| - // Loads the appropriate DLL and gets a pointer to the UuidCreate
|
| - // function lazily and in a thread-safe manner.
|
| - UuidCreateType GetCreateUuid();
|
| -
|
| - // Returns the path for the file to write dump to.
|
| - bool GenerateDumpFilePath(std::wstring* file_path);
|
| -
|
| - // Handle to dynamically loaded DbgHelp.dll.
|
| - HMODULE dbghelp_module_;
|
| -
|
| - // Pointer to the MiniDumpWriteDump function.
|
| - MiniDumpWriteDumpType write_dump_;
|
| -
|
| - // Handle to dynamically loaded rpcrt4.dll.
|
| - HMODULE rpcrt4_module_;
|
| -
|
| - // Pointer to the UuidCreate function.
|
| - UuidCreateType create_uuid_;
|
| -
|
| - // Folder path to store dump files.
|
| - std::wstring dump_path_;
|
| -
|
| - // Critical section to sychronize action of loading modules dynamically.
|
| - CRITICAL_SECTION module_load_sync_;
|
| -
|
| - // Critical section to synchronize action of dynamically getting function
|
| - // addresses from modules.
|
| - CRITICAL_SECTION get_proc_address_sync_;
|
| -};
|
| -
|
| -} // namespace google_breakpad
|
| -
|
| -#endif // CLIENT_WINDOWS_CRASH_GENERATION_MINIDUMP_GENERATOR_H_
|
|
|