|
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, lldb::Format format) |
| #define NON_PRINTABLE_CHAR '.' |
Definition at line 51 of file DumpDataExtractor.cpp.
Referenced by lldb_private::DumpDataExtractor().
|
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 210 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 222 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 321 of file DumpDataExtractor.cpp.
References lldb::eFormatFloat128, and lldb::eLanguageTypeC.
Referenced by lldb_private::DumpDataExtractor().
|
static |
Definition at line 244 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 299 of file DumpDataExtractor.cpp.
References lldb_private::Stream::Printf(), and lldb_private::Stream::PutCString().
Referenced by lldb_private::DumpDataExtractor().
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 173 of file DumpDataExtractor.cpp.
References lldb_private::Stream::Printf().
Referenced by DumpCharacter(), and lldb_private::DumpDataExtractor().