Lines Matching refs:Minidump
30 // minidump.h: A minidump reader.
32 // The basic structure of this module tracks the structure of the minidump
33 // file itself. At the top level, a minidump file is represented by a
34 // Minidump object. Like most other classes in this module, Minidump
37 // "raw" structures found in the minidump file itself, and defined in
43 // Most of the module lazily reads only the portion of the minidump file
44 // necessary to fulfill the user's request. Calling Minidump::Read
45 // only reads the minidump's directory. The thread list is not read until
50 // minidump file are not particularly large, it is possible for legitimate
51 // minidumps to be sizable. A full-memory minidump, for example, contains
52 // a snapshot of the entire mapped memory space. Even a normal minidump,
58 // attempt to cause problems by forcing the minidump processor to over-
63 // the top-level Minidump object, the creation and destruction of which
66 // Minidump object, and will be freed upon the Minidump object's destruction.
71 // be read back in from the minidump file again.
74 // Minidump::ReadString will return a string object to the user, and the user
106 class Minidump;
110 // MinidumpObject is the base of all Minidump* objects except for Minidump
117 explicit MinidumpObject(Minidump* minidump);
119 // Refers to the Minidump object that is the ultimate parent of this
121 // root of the ownership tree is always a Minidump. The Minidump object
123 // for access to data about the minidump file itself, such as whether
125 Minidump* minidump_;
131 // Minidump::mStreamObjects. Some object types will never be stored in
132 // Minidump::mStreamObjects, but are represented as streams and adhere to the
139 explicit MinidumpStream(Minidump* minidump);
144 // read from the minidump will be at the beginning of the stream.
160 // context for the exception handler (which performs minidump generation),
168 explicit MinidumpContext(Minidump* minidump);
176 // If the minidump contains a SYSTEM_INFO_STREAM, makes sure that the
179 // match. Returns true if the CPU type matches or if the minidump does
183 // Refers to the Minidump object that is the ultimate parent of this
185 // root of the ownership tree is always a Minidump. The Minidump object
187 // for access to data about the minidump file itself, such as whether
189 Minidump* minidump_;
195 // portions of a minidump file that contain memory dumps. In normal
210 // cached value if available, otherwise, reads the minidump file and
233 explicit MinidumpMemoryRegion(Minidump* minidump);
240 // location it may be found in the minidump file.
247 // The largest memory region that will be read from a minidump. The
252 // minidump file.
293 explicit MinidumpThread(Minidump* minidump);
335 explicit MinidumpThreadList(Minidump* aMinidump);
338 friend class Minidump;
347 // The largest number of threads that will be read from a minidump. The
419 explicit MinidumpModule(Minidump* minidump);
434 // The largest number of bytes that will be read from a minidump for a
504 explicit MinidumpModuleList(Minidump* minidump);
507 friend class Minidump;
515 // The largest number of modules that will be read from a minidump. The
527 // MinidumpMemoryList corresponds to a minidump's MEMORY_LIST_STREAM stream,
529 // within the minidump. For a normal minidump, this includes stack memory
532 // minidump file, conserving space), as well as a 256-byte snapshot of memory
558 friend class Minidump;
566 explicit MinidumpMemoryList(Minidump* minidump);
570 // The largest number of memory regions that will be read from a minidump.
590 // about the exception that caused the minidump to be generated, if the
591 // minidump was generated in an exception handler called as a result of an
615 friend class Minidump;
619 explicit MinidumpException(Minidump* minidump);
628 // about an assertion that caused the minidump to be generated.
653 friend class Minidump;
657 explicit MinidumpAssertion(Minidump* minidump);
669 // the system on which the minidump was generated. See also MinidumpMiscInfo.
679 // and CPU that produced the minidump. Unlike most other Minidump* methods,
702 explicit MinidumpSystemInfo(Minidump* minidump);
710 friend class Minidump;
722 // the process that generated the minidump, and optionally additional system
734 friend class Minidump;
739 explicit MinidumpMiscInfo(Minidump* minidump_);
755 // a minidump that provides additional information about the process state
756 // at the time the minidump was generated.
774 friend class Minidump;
778 explicit MinidumpBreakpadInfo(Minidump* minidump_);
811 explicit MinidumpMemoryInfo(Minidump* minidump);
838 friend class Minidump;
844 explicit MinidumpMemoryInfoList(Minidump* minidump);
856 // Minidump is the user's interface to a minidump file. It wraps MDRawHeader
857 // and provides access to the minidump's top-level stream directory.
858 class Minidump {
860 // path is the pathname of a file containing the minidump.
861 explicit Minidump(const string& path);
862 // input is an istream wrapping minidump data. Minidump holds a
864 // is valid as long as the Minidump object is.
865 explicit Minidump(std::istream& input);
867 virtual ~Minidump();
869 // path may be empty if the minidump was not opened from a file
895 // Reads the minidump file's header and top-level stream directory.
896 // The minidump is expected to be positioned at the beginning of the
898 // Minidump object.
916 // data in minidump files directly, while leveraging the rest of
917 // this class and related classes to handle the basic minidump
927 // Reads count bytes from the minidump at the current position into
932 // Sets the position of the minidump file to offset.
935 // Returns the current position of the minidump file.
942 // minidump file.
956 // type in a single minidump file.
966 // the Minidump object locate interesting streams quickly, and
984 // Opens the minidump file, or if already open, seeks to the beginning.
987 // The largest number of top-level streams that will be read from a minidump.
992 // The maximum length of a UTF-16 string that will be read from a minidump
1006 // The pathname of the minidump file to process, set in the constructor.
1007 // This may be empty if the minidump was opened directly from a stream.
1014 // swap_ is true if the minidump file should be byte-swapped. If the
1015 // minidump was produced by a CPU that is other-endian than the CPU
1016 // processing the minidump, this will be true. If the two CPUs are
1020 // Validity of the Minidump structure, false immediately after