Index: util/mac/process_reader.h |
diff --git a/util/mac/process_reader.h b/util/mac/process_reader.h |
index 56d9995485a0b54ca5d51de7050523d09ec57d91..0e5a30ef55fcbb6e047bfd64fe329d050eefdc80 100644 |
--- a/util/mac/process_reader.h |
+++ b/util/mac/process_reader.h |
@@ -32,62 +32,63 @@ |
namespace crashpad { |
-//! \brief Contains information about a thread that belongs to a task (process). |
-struct ProcessReaderThread { |
+//! \brief Accesses information about another process, identified by a Mach |
+//! task. |
+class ProcessReader { |
+ public: |
+ //! \brief Contains information about a thread that belongs to a task |
+ //! (process). |
+ struct Thread { |
#if defined(ARCH_CPU_X86_FAMILY) |
- union ThreadContext { |
- x86_thread_state64_t t64; |
- x86_thread_state32_t t32; |
- }; |
- union FloatContext { |
- x86_float_state64_t f64; |
- x86_float_state32_t f32; |
- }; |
- union DebugContext { |
- x86_debug_state64_t d64; |
- x86_debug_state32_t d32; |
- }; |
+ union ThreadContext { |
+ x86_thread_state64_t t64; |
+ x86_thread_state32_t t32; |
+ }; |
+ union FloatContext { |
+ x86_float_state64_t f64; |
+ x86_float_state32_t f32; |
+ }; |
+ union DebugContext { |
+ x86_debug_state64_t d64; |
+ x86_debug_state32_t d32; |
+ }; |
#endif |
- ProcessReaderThread(); |
- ~ProcessReaderThread() {} |
- |
- ThreadContext thread_context; |
- FloatContext float_context; |
- DebugContext debug_context; |
- uint64_t id; |
- mach_vm_address_t stack_region_address; |
- mach_vm_size_t stack_region_size; |
- mach_vm_address_t thread_specific_data_address; |
- mach_port_t port; |
- int suspend_count; |
- int priority; |
-}; |
+ Thread(); |
+ ~Thread() {} |
+ |
+ ThreadContext thread_context; |
+ FloatContext float_context; |
+ DebugContext debug_context; |
+ uint64_t id; |
+ mach_vm_address_t stack_region_address; |
+ mach_vm_size_t stack_region_size; |
+ mach_vm_address_t thread_specific_data_address; |
+ mach_port_t port; |
+ int suspend_count; |
+ int priority; |
+ }; |
-//! \brief Contains information about a module loaded into a process. |
-struct ProcessReaderModule { |
- ProcessReaderModule(); |
- ~ProcessReaderModule(); |
+ //! \brief Contains information about a module loaded into a process. |
+ struct Module { |
+ Module(); |
+ ~Module(); |
- //! \brief The pathname used to load the module from disk. |
- std::string name; |
+ //! \brief The pathname used to load the module from disk. |
+ std::string name; |
- //! \brief The address where the base of the module is loaded in the remote |
- //! process. |
- mach_vm_address_t address; |
+ //! \brief The address where the base of the module is loaded in the remote |
+ //! process. |
+ mach_vm_address_t address; |
- //! \brief The module’s timestamp. |
- //! |
- //! This field will be `0` if its value cannot be determined. It can only be |
- //! determined for images that are loaded by dyld, so it will be `0` for the |
- //! main executable and for dyld itself. |
- time_t timestamp; |
-}; |
+ //! \brief The module’s timestamp. |
+ //! |
+ //! This field will be `0` if its value cannot be determined. It can only be |
+ //! determined for images that are loaded by dyld, so it will be `0` for the |
+ //! main executable and for dyld itself. |
+ time_t timestamp; |
+ }; |
-//! \brief Accesses information about another process, identified by a Mach |
-//! task. |
-class ProcessReader { |
- public: |
ProcessReader(); |
~ProcessReader(); |
@@ -129,12 +130,12 @@ class ProcessReader { |
//! \return The threads that are in the task (process). The first element (at |
//! index `0`) corresponds to the main thread. |
- const std::vector<ProcessReaderThread>& Threads(); |
+ const std::vector<Thread>& Threads(); |
//! \return The modules loaded in the process. The first element (at index |
//! `0`) corresponds to the main executable, and the final element |
//! corresponds to the dynamic loader, dyld. |
- const std::vector<ProcessReaderModule>& Modules(); |
+ const std::vector<Module>& Modules(); |
private: |
//! Performs lazy initialization of the \a threads_ vector on behalf of |
@@ -201,8 +202,8 @@ class ProcessReader { |
unsigned int user_tag); |
kinfo_proc kern_proc_info_; |
- std::vector<ProcessReaderThread> threads_; // owns send rights |
- std::vector<ProcessReaderModule> modules_; |
+ std::vector<Thread> threads_; // owns send rights |
+ std::vector<Module> modules_; |
scoped_ptr<TaskMemory> task_memory_; |
mach_port_t task_; // weak |
InitializationStateDcheck initialized_; |