bool DebugData::Initialize(constchar* options) { if (!config_.Init(options)) { returnfalse;
}
// Check to see if the options that require a header are enabled. if (config_.options() & HEADER_OPTIONS) { // Initialize all of the static header offsets.
pointer_offset_ = __builtin_align_up(sizeof(Header), MINIMUM_ALIGNMENT_BYTES);
if (config_.options() & FRONT_GUARD) {
front_guard.reset(new FrontGuardData(this, config_, &pointer_offset_));
}
extra_bytes_ = pointer_offset_;
// Initialize all of the non-header data. if (config_.options() & REAR_GUARD) {
rear_guard.reset(new RearGuardData(this, config_));
extra_bytes_ += config_.rear_guard_bytes();
}
}
if (TrackPointers()) {
pointer.reset(new PointerData(this)); if (!pointer->Initialize(config_)) { returnfalse;
}
}
if (config_.options() & RECORD_ALLOCS) {
record.reset(new RecordData()); if (!record->Initialize(config_)) { returnfalse;
}
}
if (config_.options() & EXPAND_ALLOC) {
extra_bytes_ += config_.expand_alloc_bytes();
}
if (config_.options() & LOG_ALLOCATOR_STATS_ON_SIGNAL) { if (!LogAllocatorStats::Initialize(config_)) { returnfalse;
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.