mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2026-01-05 05:58:24 +01:00
MinidumpProcessor should process all threads (#35). r=bryner
- MinidumpProcessor now processes all threads and returns a new ProcessState
object. (Interface change.)
- ProcessState contains a CallStack for each thread in the process, and
additional information about whether the process crashed, which thread
crashed, the reason for the crash, and identifying attributes for the
OS and CPU.
- MinidumpSystemInfo now contains a GetCPUVendor() method that returns the
vendor information from CPUID 0 on x86 processors ("GenuineIntel").
http://groups.google.com/group/airbag-dev/browse_thread/thread/16dd2c981e3361ba
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@47 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
parent
2466d8e993
commit
e5468b8a49
12 changed files with 594 additions and 29 deletions
|
|
@ -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_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue