bornintelligent / google-breakpad

Automatically exported from code.google.com/p/google-breakpad
0 stars 0 forks source link

MinidumpProcessor should process all threads #35

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Right now, MinidumpProcessor only produces output for the crashed thread. 
It should process all threads.  I plan on handling this by defining a
struct like this:

struct ProcessState {
  // True if the process crashed, false if the dump was produced outside
  // of an exception handler.
  bool crashed;

  // If the process crashed, the type of crash.  OS- and possibly CPU-
  // specific.  For example, "EXCEPTION_ACCESS_VIOLATION" (Windows),
  // "EXC_BAD_ACCESS / KERN_INVALID_ADDRESS" (Mac OS X), "SIGSEGV"
  // (other Unix).
  string crash_reason;

  // If the process crashed, and if crash_reason implicates memory,
  // the memory address that caused the crash.
  u_int64_t crash_address;

  // If the process crashed, the index of the crashed thread's stack
  // in the threads vector.
  unsigned int crash_thread;

  // Stacks for each thread (except possibly the exception handler
  // thread) at the time of the crash.
  vector<StackFrames> threads;
};

ProcessState should possibly also contain values identifying the OS and
CPU, only because it may help to make sense out of crash_reason and the
context data I'm probably going to need to add to StackFrame or new
subclasses of StackFrame.

Original issue reported on code.google.com by mmento...@gmail.com on 27 Sep 2006 at 10:13

GoogleCodeExporter commented 9 years ago

Original comment by bry...@gmail.com on 16 Oct 2006 at 10:18

GoogleCodeExporter commented 9 years ago

Original comment by mmento...@gmail.com on 24 Oct 2006 at 4:55

Attachments:

GoogleCodeExporter commented 9 years ago
Checked in, revision [47].

Original comment by mmento...@gmail.com on 24 Oct 2006 at 7:34

GoogleCodeExporter commented 9 years ago

Original comment by mmento...@gmail.com on 24 Oct 2006 at 7:34