LLDB mainline
|
#include "lldb/Core/DumpDataExtractor.h"
#include "lldb/lldb-defines.h"
#include "lldb/lldb-forward.h"
#include "lldb/Core/Address.h"
#include "lldb/Core/Disassembler.h"
#include "lldb/Core/ModuleList.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/ExecutionContextScope.h"
#include "lldb/Target/MemoryRegionInfo.h"
#include "lldb/Target/MemoryTagManager.h"
#include "lldb/Target/MemoryTagMap.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Stream.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include <limits>
#include <memory>
#include <string>
#include <cassert>
#include <cctype>
#include <cinttypes>
#include <cmath>
#include <bitset>
#include <optional>
#include <sstream>
Go to the source code of this file.
Macros | |
#define | NON_PRINTABLE_CHAR '.' |
Functions | |
static std::optional< llvm::APInt > | GetAPInt (const DataExtractor &data, lldb::offset_t *offset_ptr, lldb::offset_t byte_size) |
static lldb::offset_t | DumpAPInt (Stream *s, const DataExtractor &data, lldb::offset_t offset, lldb::offset_t byte_size, bool is_signed, unsigned radix) |
static lldb::offset_t | DumpInstructions (const DataExtractor &DE, Stream *s, ExecutionContextScope *exe_scope, offset_t start_offset, uint64_t base_addr, size_t number_of_instructions) |
Dumps decoded instructions to a stream. | |
static bool | TryDumpSpecialEscapedChar (Stream &s, const char c) |
Prints the specific escape sequence of the given character to the stream. | |
static void | DumpCharacter (Stream &s, const char c) |
Dump the character to a stream. | |
template<typename FloatT > | |
void | DumpFloatingPoint (std::ostringstream &ss, FloatT f) |
Dump a floating point type. | |
static std::optional< MemoryTagMap > | GetMemoryTags (lldb::addr_t addr, size_t length, ExecutionContextScope *exe_scope) |
static void | printMemoryTags (const DataExtractor &DE, Stream *s, lldb::addr_t addr, size_t len, const std::optional< MemoryTagMap > &memory_tag_map) |
static const llvm::fltSemantics & | GetFloatSemantics (const TargetSP &target_sp, size_t byte_size) |
#define NON_PRINTABLE_CHAR '.' |
Definition at line 51 of file DumpDataExtractor.cpp.
|
static |
Definition at line 98 of file DumpDataExtractor.cpp.
References GetAPInt(), lldb_private::toString(), and lldb_private::Stream::Write().
Referenced by lldb_private::DumpDataExtractor().
|
static |
Dump the character to a stream.
A character that is not printable will be represented by its escape sequence.
Definition at line 208 of file DumpDataExtractor.cpp.
References lldb_private::Stream::Printf(), lldb_private::Stream::PutChar(), and TryDumpSpecialEscapedChar().
Referenced by lldb_private::DumpDataExtractor().
void DumpFloatingPoint | ( | std::ostringstream & | ss, |
FloatT | f | ||
) |
Dump a floating point type.
Definition at line 220 of file DumpDataExtractor.cpp.
|
static |
Dumps decoded instructions to a stream.
Definition at line 120 of file DumpDataExtractor.cpp.
References lldb_private::ExecutionContextScope::CalculateExecutionContext(), lldb_private::ExecutionContextScope::CalculateTarget(), lldb_private::Disassembler::FindPlugin(), LLDB_INVALID_ADDRESS, lldb_private::Stream::Printf(), and lldb_private::Address::SetRawAddress().
Referenced by lldb_private::DumpDataExtractor().
|
static |
Definition at line 53 of file DumpDataExtractor.cpp.
References lldb::eByteOrderBig, lldb::eByteOrderLittle, lldb_private::DataExtractor::GetByteOrder(), lldb_private::DataExtractor::GetMaxU64(), and lldb_private::DataExtractor::GetU64().
Referenced by DumpAPInt(), and lldb_private::DumpDataExtractor().
|
static |
Definition at line 319 of file DumpDataExtractor.cpp.
References lldb::eLanguageTypeC.
Referenced by lldb_private::DumpDataExtractor().
|
static |
Definition at line 242 of file DumpDataExtractor.cpp.
References lldb_private::ExecutionContextScope::CalculateTarget(), lldb_private::MemoryTagMap::Empty(), lldb_private::MemoryTagMap::InsertTags(), and LLDB_INVALID_ADDRESS.
Referenced by lldb_private::DumpDataExtractor().
|
static |
Definition at line 297 of file DumpDataExtractor.cpp.
References lldb_private::Stream::Printf(), and lldb_private::Stream::PutCString().
Referenced by lldb_private::DumpDataExtractor().
|
static |
Prints the specific escape sequence of the given character to the stream.
If the character doesn't have a known specific escape sequence (e.g., '', '
' but not generic escape sequences such as'\x12'), this function will not modify the stream and return false.
Definition at line 171 of file DumpDataExtractor.cpp.
References lldb_private::Stream::Printf().
Referenced by DumpCharacter(), and lldb_private::DumpDataExtractor().