//===-- ProcessDataAllocator.cpp --------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "lldb/Core/DataBufferHeap.h" #include "lldb/Core/DataExtractor.h" #include "lldb/Expression/ProcessDataAllocator.h" using namespace lldb_private; void ProcessDataAllocator::Dump(Stream &stream) { size_t data_size = m_stream_string.GetSize(); if (!m_allocation) return; lldb::DataBufferSP data(new DataBufferHeap(data_size, 0)); Error error; if (m_process.ReadMemory (m_allocation, data->GetBytes(), data_size, error) != data_size) return; DataExtractor extractor(data, m_process.GetByteOrder(), m_process.GetAddressByteSize()); extractor.Dump(&stream, // stream 0, // offset lldb::eFormatBytesWithASCII, // format 1, // byte size of individual entries data_size, // number of entries 16, // entries per line m_allocation, // address to print 0, // bit size (bitfields only; 0 means ignore) 0); // bit alignment (bitfields only; 0 means ignore) stream.PutChar('\n'); }