32 #ifndef CLIENT_MAC_GENERATOR_MINIDUMP_GENERATOR_H__    33 #define CLIENT_MAC_GENERATOR_MINIDUMP_GENERATOR_H__    35 #include <mach/mach.h>    36 #include <TargetConditionals.h>    48 #if !TARGET_OS_IPHONE && (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7)    49   #define HAS_PPC_SUPPORT    52   #define HAS_ARM_SUPPORT    53 #elif defined(__i386__) || defined(__x86_64__)    54   #define HAS_X86_SUPPORT    63 #if __DARWIN_UNIX03 || TARGET_CPU_X86_64 || TARGET_CPU_PPC64 || TARGET_CPU_ARM    68 #define REGISTER_FROM_THREADSTATE(a, b) ((a)->__ ## b)    70 #define REGISTER_FROM_THREADSTATE(a, b) (a->b)    94   bool Write(
const char *path);
    98                                mach_port_t thread_name) {
    99     exception_type_ = type;
   100     exception_code_ = code;
   101     exception_subcode_ = subcode;
   102     exception_thread_ = thread_name;
   130   bool WriteBreakpadInfoStream(
MDRawDirectory *breakpad_info_stream);
   134   bool GetThreadState(thread_act_t target_thread, thread_state_t state,
   135                       mach_msg_type_number_t *count);
   136   bool WriteStackFromStartAddress(mach_vm_address_t start_addr,
   142   bool WriteCVRecord(
MDRawModule *module, 
int cpu_type,
   143                      const char *module_path, 
bool in_memory);
   144   bool WriteModuleStream(
unsigned int index, 
MDRawModule *module);
   145   size_t CalculateStackSize(mach_vm_address_t start_addr);
   146   int  FindExecutableModule();
   149 #ifdef HAS_ARM_SUPPORT   156 #ifdef HAS_PPC_SUPPORT   168 #ifdef HAS_X86_SUPPORT   193   int exception_subcode_;
   194   mach_port_t exception_thread_;
   195   mach_port_t crashing_task_;
   196   mach_port_t handler_thread_;
   199   cpu_type_t cpu_type_;
   202   static char build_string_[16];
   203   static int os_major_version_;
   204   static int os_minor_version_;
   205   static int os_build_number_;
   208   ucontext_t *task_context_;
   226 #endif  // CLIENT_MAC_GENERATOR_MINIDUMP_GENERATOR_H__ 
bool Write(const char *path)
 
static void GatherSystemInformation()
 
virtual bool WriteExceptionStream(MDRawDirectory *exception_stream)
 
virtual ~MinidumpGenerator()
 
natural_t breakpad_thread_state_data_t[THREAD_STATE_MAX]
 
virtual bool WriteThreadStream(mach_port_t thread_id, MDRawThread *thread)
 
MinidumpFileWriter writer_
 
void SetTaskContext(ucontext_t *task_context)
 
static string UniqueNameInDirectory(const string &dir, string *unique_name)
 
void SetExceptionInformation(int type, int code, int subcode, mach_port_t thread_name)
 
wasteful_vector< MDMemoryDescriptor > memory_blocks_