diff options
Diffstat (limited to 'src/processor/synth_minidump.cc')
-rw-r--r-- | src/processor/synth_minidump.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/processor/synth_minidump.cc b/src/processor/synth_minidump.cc index ade150ef..aa86d248 100644 --- a/src/processor/synth_minidump.cc +++ b/src/processor/synth_minidump.cc @@ -297,6 +297,26 @@ const MDVSFixedFileInfo Module::stock_version_info = { 0 // file_date_lo }; +UnloadedModule::UnloadedModule(const Dump &dump, + uint64_t base_of_image, + uint32_t size_of_image, + const String &name, + uint32_t checksum, + uint32_t time_date_stamp) : Section(dump) { + D64(base_of_image); + D32(size_of_image); + D32(checksum); + D32(time_date_stamp); + name.CiteStringIn(this); +} + +UnloadedModuleList::UnloadedModuleList(const Dump &dump, uint32_t type) + : List<UnloadedModule>(dump, type, false) { + D32(sizeof(MDRawUnloadedModuleList)); + D32(sizeof(MDRawUnloadedModule)); + D32(count_label_); +} + Exception::Exception(const Dump &dump, const Context &context, uint32_t thread_id, @@ -328,6 +348,7 @@ Dump::Dump(uint64_t flags, stream_count_(0), thread_list_(*this, MD_THREAD_LIST_STREAM), module_list_(*this, MD_MODULE_LIST_STREAM), + unloaded_module_list_(*this, MD_UNLOADED_MODULE_LIST_STREAM), memory_list_(*this, MD_MEMORY_LIST_STREAM) { D32(MD_HEADER_SIGNATURE); @@ -375,9 +396,15 @@ Dump &Dump::Add(Module *module) { return *this; } +Dump &Dump::Add(UnloadedModule *unloaded_module) { + unloaded_module_list_.Add(unloaded_module); + return *this; +} + void Dump::Finish() { if (!thread_list_.Empty()) Add(&thread_list_); if (!module_list_.Empty()) Add(&module_list_); + if (!unloaded_module_list_.Empty()) Add(&unloaded_module_list_); if (!memory_list_.Empty()) Add(&memory_list_); // Create the stream directory. We don't use |