9#ifndef LLDB_UTILITY_TRACEGDBREMOTEPACKETS_H
10#define LLDB_UTILITY_TRACEGDBREMOTEPACKETS_H
12#include "llvm/Support/JSON.h"
36 llvm::json::Path path);
49 std::optional<std::vector<lldb::tid_t>>
tids;
57 llvm::json::Path path);
77 std::optional<std::vector<lldb::tid_t>>
tids;
81 llvm::json::Path path);
94 llvm::json::Path path);
106 llvm::json::Path path);
117 llvm::json::Path path);
128 llvm::json::Path path);
135 std::optional<std::vector<TraceCpuState>>
cpus;
142 llvm::json::Path path);
155 std::optional<lldb::tid_t>
tid;
162 llvm::json::Path path);
static llvm::raw_ostream & warning(Stream &strm)
A class that represents a running process on the host machine.
bool fromJSON(const llvm::json::Value &value, TraceSupportedResponse &info, llvm::json::Path path)
llvm::json::Value toJSON(const TraceSupportedResponse &packet)
std::string kind
Identifier of data to fetch with jLLDBTraceGetBinaryData.
uint64_t size
Size in bytes for this data.
std::vector< TraceBinaryData > binary_data
List of binary data objects for this core.
jLLDBTraceGetBinaryData gdb-remote packet
std::optional< lldb::cpu_id_t > cpu_id
Optional core id if the data is related to a cpu core.
std::optional< lldb::tid_t > tid
Optional tid if the data is related to a thread.
std::string kind
Identifier for the data.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
std::optional< std::vector< std::string > > warnings
std::optional< std::vector< TraceCpuState > > cpus
std::vector< TraceThreadState > traced_threads
std::vector< TraceBinaryData > process_binary_data
void AddWarning(llvm::StringRef warning)
jLLDBTraceStart gdb-remote packet
bool IsProcessTracing() const
jLLDBTraceStart
std::optional< std::vector< lldb::tid_t > > tids
If std::nullopt, then this starts tracing the whole process.
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
jLLDBTraceStop gdb-remote packet
bool IsProcessTracing() const
std::string type
Tracing technology name, e.g. intel-pt, arm-coresight.
TraceStopRequest()=default
TraceStopRequest(llvm::StringRef type)
std::optional< std::vector< lldb::tid_t > > tids
If std::nullopt, then this stops tracing the whole process.
jLLDBTraceSupported gdb-remote packet
std::string name
The name of the technology, e.g.
std::string description
The description for the technology.
std::vector< TraceBinaryData > binary_data
List of binary data objects for this thread.