#include "minidump/minidump_module_writer.h"
#include <stddef.h>
#include <limits>
#include <utility>
#include "base/check_op.h"
#include "base/logging.h"
#include "base/numerics/safe_conversions.h"
#include "minidump/minidump_string_writer.h"
#include "minidump/minidump_writer_util.h"
#include "snapshot/module_snapshot.h"
#include "util/file/file_writer.h"
#include "util/misc/implicit_cast.h"
#include "util/numeric/in_range_cast.h"
#include "util/numeric/safe_assignment.h"
namespace crashpad {
MinidumpModuleCodeViewRecordWriter::~MinidumpModuleCodeViewRecordWriter() { … }
namespace internal {
template <typename CodeViewRecordType>
MinidumpModuleCodeViewRecordPDBLinkWriter<
CodeViewRecordType>::MinidumpModuleCodeViewRecordPDBLinkWriter()
: … { … }
template <typename CodeViewRecordType>
MinidumpModuleCodeViewRecordPDBLinkWriter<
CodeViewRecordType>::~MinidumpModuleCodeViewRecordPDBLinkWriter() { … }
template <typename CodeViewRecordType>
size_t
MinidumpModuleCodeViewRecordPDBLinkWriter<CodeViewRecordType>::SizeOfObject() { … }
template <typename CodeViewRecordType>
bool MinidumpModuleCodeViewRecordPDBLinkWriter<CodeViewRecordType>::WriteObject(
FileWriterInterface* file_writer) { … }
}
template class internal::MinidumpModuleCodeViewRecordPDBLinkWriter<
CodeViewRecordPDB20>;
MinidumpModuleCodeViewRecordPDB20Writer::
~MinidumpModuleCodeViewRecordPDB20Writer() { … }
void MinidumpModuleCodeViewRecordPDB20Writer::SetTimestampAndAge(
time_t timestamp,
uint32_t age) { … }
template class internal::MinidumpModuleCodeViewRecordPDBLinkWriter<
CodeViewRecordPDB70>;
MinidumpModuleCodeViewRecordPDB70Writer::
~MinidumpModuleCodeViewRecordPDB70Writer() { … }
void MinidumpModuleCodeViewRecordPDB70Writer::InitializeFromSnapshot(
const ModuleSnapshot* module_snapshot) { … }
MinidumpModuleCodeViewRecordBuildIDWriter::
MinidumpModuleCodeViewRecordBuildIDWriter()
: … { … }
MinidumpModuleCodeViewRecordBuildIDWriter::
~MinidumpModuleCodeViewRecordBuildIDWriter() { … }
size_t MinidumpModuleCodeViewRecordBuildIDWriter::SizeOfObject() { … }
void MinidumpModuleCodeViewRecordBuildIDWriter::SetBuildID(
const std::vector<uint8_t>& build_id) { … }
bool MinidumpModuleCodeViewRecordBuildIDWriter::WriteObject(
FileWriterInterface* file_writer) { … }
MinidumpModuleMiscDebugRecordWriter::MinidumpModuleMiscDebugRecordWriter()
: … { … }
MinidumpModuleMiscDebugRecordWriter::~MinidumpModuleMiscDebugRecordWriter() { … }
void MinidumpModuleMiscDebugRecordWriter::SetData(const std::string& data,
bool utf16) { … }
bool MinidumpModuleMiscDebugRecordWriter::Freeze() { … }
size_t MinidumpModuleMiscDebugRecordWriter::SizeOfObject() { … }
bool MinidumpModuleMiscDebugRecordWriter::WriteObject(
FileWriterInterface* file_writer) { … }
MinidumpModuleWriter::MinidumpModuleWriter()
: … { … }
MinidumpModuleWriter::~MinidumpModuleWriter() { … }
void MinidumpModuleWriter::InitializeFromSnapshot(
const ModuleSnapshot* module_snapshot) { … }
const MINIDUMP_MODULE* MinidumpModuleWriter::MinidumpModule() const { … }
void MinidumpModuleWriter::SetName(const std::string& name) { … }
void MinidumpModuleWriter::SetCodeViewRecord(
std::unique_ptr<MinidumpModuleCodeViewRecordWriter> codeview_record) { … }
void MinidumpModuleWriter::SetMiscDebugRecord(
std::unique_ptr<MinidumpModuleMiscDebugRecordWriter> misc_debug_record) { … }
void MinidumpModuleWriter::SetTimestamp(time_t timestamp) { … }
void MinidumpModuleWriter::SetFileVersion(uint16_t version_0,
uint16_t version_1,
uint16_t version_2,
uint16_t version_3) { … }
void MinidumpModuleWriter::SetProductVersion(uint16_t version_0,
uint16_t version_1,
uint16_t version_2,
uint16_t version_3) { … }
void MinidumpModuleWriter::SetFileFlagsAndMask(uint32_t file_flags,
uint32_t file_flags_mask) { … }
bool MinidumpModuleWriter::Freeze() { … }
size_t MinidumpModuleWriter::SizeOfObject() { … }
std::vector<internal::MinidumpWritable*> MinidumpModuleWriter::Children() { … }
bool MinidumpModuleWriter::WriteObject(FileWriterInterface* file_writer) { … }
MinidumpModuleListWriter::MinidumpModuleListWriter()
: … { … }
MinidumpModuleListWriter::~MinidumpModuleListWriter() { … }
void MinidumpModuleListWriter::InitializeFromSnapshot(
const std::vector<const ModuleSnapshot*>& module_snapshots) { … }
void MinidumpModuleListWriter::AddModule(
std::unique_ptr<MinidumpModuleWriter> module) { … }
bool MinidumpModuleListWriter::Freeze() { … }
size_t MinidumpModuleListWriter::SizeOfObject() { … }
std::vector<internal::MinidumpWritable*> MinidumpModuleListWriter::Children() { … }
bool MinidumpModuleListWriter::WriteObject(FileWriterInterface* file_writer) { … }
MinidumpStreamType MinidumpModuleListWriter::StreamType() const { … }
}