Planeshift
google_breakpad Namespace Reference

Classes

struct  AppMemory
 
class  AutoCriticalSection
 
class  ClientInfo
 
class  CpuSet
 
class  CrashGenerationClient
 
class  CrashGenerationServer
 
class  CrashReportSender
 
struct  CustomClientInfo
 
struct  CustomInfoEntry
 
class  DirectoryReader
 
struct  dyld_all_image_infos32
 
struct  dyld_all_image_infos64
 
struct  dyld_image_info32
 
struct  dyld_image_info64
 
class  DynamicImage
 
class  DynamicImageRef
 
class  DynamicImages
 
struct  ElfClass32
 
struct  ElfClass64
 
class  ExceptionHandler
 
struct  ExceptionInfo
 
class  FileID
 
class  GUIDString
 
class  HTTPUpload
 
class  LibcurlWrapper
 
class  LineReader
 
class  LinuxDumper
 
class  LinuxPtraceDumper
 
class  LogMessageVoidify
 
class  LogStream
 
class  MachMessage
 
class  MachMsgPortDescriptor
 
class  MachPortSender
 
class  MachReceiveMessage
 
class  MachSendMessage
 
struct  MappingEntry
 
struct  MappingInfo
 
class  MemoryMappedFile
 
class  MemoryRange
 
class  minidump_size
 
class  minidump_size< MDCVInfoPDB20 >
 
class  minidump_size< MDCVInfoPDB70 >
 
class  minidump_size< MDImageDebugMisc >
 
class  minidump_size< MDRawMemoryList >
 
class  minidump_size< MDRawModule >
 
class  minidump_size< MDRawModuleList >
 
class  minidump_size< MDRawThreadList >
 
class  minidump_size< MDString >
 
class  MinidumpDescriptor
 
class  MinidumpFileWriter
 
class  MinidumpGenerator
 
class  PageAllocator
 
struct  PageStdAllocator
 
class  PathnameStripper
 
class  ProcCpuInfoReader
 
struct  ProtocolMessage
 
class  ReceivePort
 
class  scoped_array
 
class  scoped_ptr
 
class  scoped_ptr_malloc
 
class  ScopedPtrMallocFree
 
class  ScopedTaskSuspend
 
struct  ThreadInfo
 
class  TypedMDRVA
 
class  UntypedMDRVA
 
class  wasteful_vector
 
class  WindowsStringUtils
 

Typedefs

typedef std::list< AppMemoryAppMemoryList
 
typedef mach_header breakpad_mach_header
 
typedef segment_command breakpad_mach_segment_command
 
typedef struct google_breakpad::dyld_all_image_infos32 dyld_all_image_infos32
 
typedef struct google_breakpad::dyld_all_image_infos64 dyld_all_image_infos64
 
typedef struct google_breakpad::dyld_image_info32 dyld_image_info32
 
typedef struct google_breakpad::dyld_image_info64 dyld_image_info64
 
typedef std::list< MappingEntryMappingList
 

Enumerations

enum  { kDumpRequestMessage = 1, kAcknowledgementMessage = 2, kQuitMessage = 3 }
 
enum  MessageTag {
  MESSAGE_TAG_NONE = 0, MESSAGE_TAG_REGISTRATION_REQUEST = 1, MESSAGE_TAG_REGISTRATION_RESPONSE = 2, MESSAGE_TAG_REGISTRATION_ACK = 3,
  MESSAGE_TAG_UPLOAD_REQUEST = 4
}
 
enum  ReportResult { RESULT_FAILED = 0, RESULT_REJECTED, RESULT_SUCCEEDED, RESULT_THROTTLED }
 

Functions

int ElfClass (const void *elf_base)
 
int ErrnoString (string *error_string)
 
bool FindElfSection (const void *elf_mapped_base, const char *section_name, uint32_t section_type, const void **section_start, int *section_size, int *elfclass)
 
template<typename ElfClass >
const ElfClass::Shdr * FindElfSectionByName (const char *name, typename ElfClass::Word section_type, const typename ElfClass::Shdr *sections, const char *section_names, const char *names_end, int nsection)
 
bool FindElfSegment (const void *elf_mapped_base, uint32_t segment_type, const void **segment_start, int *segment_size, int *elfclass)
 
template<typename MachBits >
bool FindTextSection (DynamicImage &image)
 
template<typename MachBits >
uint32_t GetFileTypeFromHeader (DynamicImage &image)
 
template<typename ElfClass , typename T >
const T * GetOffset (const typename ElfClass::Ehdr *elf_header, typename ElfClass::Off offset)
 
string HexString (uint32_t number)
 
string HexString (uint64_t number)
 
string HexString (int number)
 
bool IsValidElf (const void *elf_header)
 
template<typename T >
bool operator!= (T *p, const scoped_ptr< T > &b)
 
template<typename T >
bool operator!= (T *p, const scoped_array< T > &b)
 
template<typename T , typename FP >
bool operator!= (T *p, const scoped_ptr_malloc< T, FP > &b)
 
template<typename T >
bool operator== (T *p, const scoped_ptr< T > &b)
 
template<typename T >
bool operator== (T *p, const scoped_array< T > &b)
 
template<typename T , typename FP >
bool operator== (T *p, const scoped_ptr_malloc< T, FP > &b)
 
template<typename MachBits >
void ReadImageInfo (DynamicImages &images, uint64_t image_list_address)
 
kern_return_t ReadTaskMemory (task_port_t target_task, const uint64_t address, size_t length, vector< uint8_t > &bytes)
 
bool SafeReadLink (const char *path, char *buffer, size_t buffer_size)
 
template<size_t N>
bool SafeReadLink (const char *path, char(&buffer)[N])
 
template<typename T >
void swap (scoped_ptr< T > &a, scoped_ptr< T > &b)
 
template<class T >
void swap (scoped_array< T > &a, scoped_array< T > &b)
 
template<typename T , typename FP >
void swap (scoped_ptr_malloc< T, FP > &a, scoped_ptr_malloc< T, FP > &b)
 
typedef typeof (((elf_aux_entry *) 0) ->a_un.a_val) elf_aux_val_t
 
string UTF16ToUTF8 (const vector< uint16_t > &in, bool swap)
 
void UTF32ToUTF16 (const wchar_t *in, vector< uint16_t > *out)
 
void UTF32ToUTF16Char (wchar_t in, uint16_t out[2])
 
void UTF8ToUTF16 (const char *in, vector< uint16_t > *out)
 
int UTF8ToUTF16Char (const char *in, int in_length, uint16_t out[2])
 
bool WriteMinidump (const char *minidump_path, pid_t crashing_process, const void *blob, size_t blob_size)
 
bool WriteMinidump (int minidump_fd, pid_t crashing_process, const void *blob, size_t blob_size)
 
bool WriteMinidump (const char *minidump_path, pid_t process, pid_t process_blamed_thread)
 
bool WriteMinidump (const char *minidump_path, pid_t crashing_process, const void *blob, size_t blob_size, const MappingList &mappings, const AppMemoryList &appdata)
 
bool WriteMinidump (int minidump_fd, pid_t crashing_process, const void *blob, size_t blob_size, const MappingList &mappings, const AppMemoryList &appdata)
 
bool WriteMinidump (const char *minidump_path, off_t minidump_size_limit, pid_t crashing_process, const void *blob, size_t blob_size, const MappingList &mappings, const AppMemoryList &appdata)
 
bool WriteMinidump (int minidump_fd, off_t minidump_size_limit, pid_t crashing_process, const void *blob, size_t blob_size, const MappingList &mappings, const AppMemoryList &appdata)
 
bool WriteMinidump (const char *filename, const MappingList &mappings, const AppMemoryList &appdata, LinuxDumper *dumper)
 

Variables

const char kLinuxGateLibraryName [] = "linux-gate.so"
 
static const size_t kMDGUIDSize = sizeof(MDGUID)
 

Typedef Documentation

Definition at line 69 of file minidump_writer.h.

Definition at line 95 of file dynamic_images.h.

Definition at line 96 of file dynamic_images.h.

Definition at line 53 of file minidump_writer.h.

Enumeration Type Documentation

anonymous enum
Enumerator
kDumpRequestMessage 
kAcknowledgementMessage 
kQuitMessage 

Definition at line 44 of file crash_generation_server.h.

Enumerator
MESSAGE_TAG_NONE 
MESSAGE_TAG_REGISTRATION_REQUEST 
MESSAGE_TAG_REGISTRATION_RESPONSE 
MESSAGE_TAG_REGISTRATION_ACK 
MESSAGE_TAG_UPLOAD_REQUEST 

Definition at line 89 of file ipc_protocol.h.

Enumerator
RESULT_FAILED 
RESULT_REJECTED 
RESULT_SUCCEEDED 
RESULT_THROTTLED 

Definition at line 53 of file crash_report_sender.h.

Function Documentation

int google_breakpad::ElfClass ( const void *  elf_base)
int google_breakpad::ErrnoString ( string *  error_string)
bool google_breakpad::FindElfSection ( const void *  elf_mapped_base,
const char *  section_name,
uint32_t  section_type,
const void **  section_start,
int section_size,
int elfclass 
)
template<typename ElfClass >
const ElfClass::Shdr * google_breakpad::FindElfSectionByName ( const char *  name,
typename ElfClass::Word  section_type,
const typename ElfClass::Shdr *  sections,
const char *  section_names,
const char *  names_end,
int  nsection 
)

Definition at line 46 of file elfutils-inl.h.

bool google_breakpad::FindElfSegment ( const void *  elf_mapped_base,
uint32_t  segment_type,
const void **  segment_start,
int segment_size,
int elfclass 
)
template<typename MachBits >
bool google_breakpad::FindTextSection ( DynamicImage image)
template<typename MachBits >
uint32_t google_breakpad::GetFileTypeFromHeader ( DynamicImage image)
template<typename ElfClass , typename T >
const T * google_breakpad::GetOffset ( const typename ElfClass::Ehdr *  elf_header,
typename ElfClass::Off  offset 
)

Definition at line 39 of file elfutils-inl.h.

string google_breakpad::HexString ( uint32_t  number)
string google_breakpad::HexString ( uint64_t  number)
string google_breakpad::HexString ( int  number)
bool google_breakpad::IsValidElf ( const void *  elf_header)
template<typename T >
bool google_breakpad::operator!= ( T *  p,
const scoped_ptr< T > &  b 
)
inline

Definition at line 139 of file scoped_ptr.h.

template<typename T >
bool google_breakpad::operator!= ( T *  p,
const scoped_array< T > &  b 
)
inline

Definition at line 224 of file scoped_ptr.h.

template<typename T , typename FP >
bool google_breakpad::operator!= ( T *  p,
const scoped_ptr_malloc< T, FP > &  b 
)
inline

Definition at line 329 of file scoped_ptr.h.

template<typename T >
bool google_breakpad::operator== ( T *  p,
const scoped_ptr< T > &  b 
)
inline

Definition at line 134 of file scoped_ptr.h.

template<typename T >
bool google_breakpad::operator== ( T *  p,
const scoped_array< T > &  b 
)
inline

Definition at line 219 of file scoped_ptr.h.

template<typename T , typename FP >
bool google_breakpad::operator== ( T *  p,
const scoped_ptr_malloc< T, FP > &  b 
)
inline

Definition at line 324 of file scoped_ptr.h.

template<typename MachBits >
void google_breakpad::ReadImageInfo ( DynamicImages images,
uint64_t  image_list_address 
)
kern_return_t google_breakpad::ReadTaskMemory ( task_port_t  target_task,
const uint64_t  address,
size_t  length,
vector< uint8_t > &  bytes 
)
bool google_breakpad::SafeReadLink ( const char *  path,
char *  buffer,
size_t  buffer_size 
)
template<size_t N>
bool google_breakpad::SafeReadLink ( const char *  path,
char(&)  buffer[N] 
)

Definition at line 59 of file safe_readlink.h.

template<typename T >
void google_breakpad::swap ( scoped_ptr< T > &  a,
scoped_ptr< T > &  b 
)
inline

Definition at line 129 of file scoped_ptr.h.

template<class T >
void google_breakpad::swap ( scoped_array< T > &  a,
scoped_array< T > &  b 
)
inline

Definition at line 214 of file scoped_ptr.h.

template<typename T , typename FP >
void google_breakpad::swap ( scoped_ptr_malloc< T, FP > &  a,
scoped_ptr_malloc< T, FP > &  b 
)
inline

Definition at line 319 of file scoped_ptr.h.

typedef google_breakpad::typeof ( ((elf_aux_entry *) 0) ->a_un.  a_val)
string google_breakpad::UTF16ToUTF8 ( const vector< uint16_t > &  in,
bool  swap 
)
void google_breakpad::UTF32ToUTF16 ( const wchar_t *  in,
vector< uint16_t > *  out 
)
void google_breakpad::UTF32ToUTF16Char ( wchar_t  in,
uint16_t  out[2] 
)
void google_breakpad::UTF8ToUTF16 ( const char *  in,
vector< uint16_t > *  out 
)
int google_breakpad::UTF8ToUTF16Char ( const char *  in,
int  in_length,
uint16_t  out[2] 
)
bool google_breakpad::WriteMinidump ( const char *  minidump_path,
pid_t  crashing_process,
const void *  blob,
size_t  blob_size 
)
bool google_breakpad::WriteMinidump ( int  minidump_fd,
pid_t  crashing_process,
const void *  blob,
size_t  blob_size 
)
bool google_breakpad::WriteMinidump ( const char *  minidump_path,
pid_t  process,
pid_t  process_blamed_thread 
)
bool google_breakpad::WriteMinidump ( const char *  minidump_path,
pid_t  crashing_process,
const void *  blob,
size_t  blob_size,
const MappingList mappings,
const AppMemoryList appdata 
)
bool google_breakpad::WriteMinidump ( int  minidump_fd,
pid_t  crashing_process,
const void *  blob,
size_t  blob_size,
const MappingList mappings,
const AppMemoryList appdata 
)
bool google_breakpad::WriteMinidump ( const char *  minidump_path,
off_t  minidump_size_limit,
pid_t  crashing_process,
const void *  blob,
size_t  blob_size,
const MappingList mappings,
const AppMemoryList appdata 
)
bool google_breakpad::WriteMinidump ( int  minidump_fd,
off_t  minidump_size_limit,
pid_t  crashing_process,
const void *  blob,
size_t  blob_size,
const MappingList mappings,
const AppMemoryList appdata 
)
bool google_breakpad::WriteMinidump ( const char *  filename,
const MappingList mappings,
const AppMemoryList appdata,
LinuxDumper dumper 
)

Variable Documentation

const char google_breakpad::kLinuxGateLibraryName[] = "linux-gate.so"

Definition at line 68 of file linux_dumper.h.

const size_t google_breakpad::kMDGUIDSize = sizeof(MDGUID)
static

Definition at line 42 of file file_id.h.