aboutsummaryrefslogtreecommitdiff
path: root/src/google/minidump_processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/google/minidump_processor.h')
-rw-r--r--src/google/minidump_processor.h34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/google/minidump_processor.h b/src/google/minidump_processor.h
index 6a126022..2a19ba1a 100644
--- a/src/google/minidump_processor.h
+++ b/src/google/minidump_processor.h
@@ -36,7 +36,8 @@ namespace google_airbag {
using std::string;
-class CallStack;
+class Minidump;
+class ProcessState;
class SymbolSupplier;
class MinidumpProcessor {
@@ -46,9 +47,34 @@ class MinidumpProcessor {
MinidumpProcessor(SymbolSupplier *supplier);
~MinidumpProcessor();
- // Returns a new CallStack produced by processing the minidump file. The
- // caller takes ownership of the CallStack. Returns NULL on failure.
- CallStack* Process(const string &minidump_file);
+ // Returns a new ProcessState object produced by processing the minidump
+ // file. The caller takes ownership of the ProcessState. Returns NULL on
+ // failure.
+ ProcessState* Process(const string &minidump_file);
+
+ // Returns a textual representation of the base CPU type that the minidump
+ // in dump was produced on. Returns an empty string if this information
+ // cannot be determined. If cpu_info is non-NULL, it will be set to
+ // contain additional identifying information about the CPU, or it will
+ // be set empty if additional information cannot be determined.
+ static string GetCPUInfo(Minidump *dump, string *cpu_info);
+
+ // Returns a textual representation of the operating system that the
+ // minidump in dump was produced on. Returns an empty string if this
+ // information cannot be determined. If os_version is non-NULL, it
+ // will be set to contain information about the specific version of the
+ // OS, or it will be set empty if version information cannot be determined.
+ static string GetOSInfo(Minidump *dump, string *os_version);
+
+ // Returns a textual representation of the reason that a crash occurred,
+ // if the minidump in dump was produced as a result of a crash. Returns
+ // an empty string if this information cannot be determined. If address
+ // is non-NULL, it will be set to contain the address that caused the
+ // exception, if this information is available. This will be a code
+ // address when the crash was caused by problems such as illegal
+ // instructions or divisions by zero, or a data address when the crash
+ // was caused by a memory access violation.
+ static string GetCrashReason(Minidump *dump, u_int64_t *address);
private:
SymbolSupplier *supplier_;