30 static_cast<ProcessWasm *
>(thread->GetProcess().get());
32 return std::make_shared<RegisterContextWasm>(*gdb_thread,
45 llvm::Expected<std::vector<lldb::addr_t>> call_stack_pcs =
47 if (!call_stack_pcs) {
49 "Failed to get Wasm callstack: {0}");
60 bool &behaves_like_zeroth_frame) {
67 behaves_like_zeroth_frame = (frame_idx == 0);
#define LLDB_LOG_ERROR(log, error,...)
This base class provides an interface to stack frames.
lldb::ThreadSP GetThread() const
uint32_t GetConcreteFrameIndex() const
Query this frame to find what frame it is in this Thread's StackFrameList, not counting inlined frame...
uint32_t GetFrameIndex() const
Query this frame to find what frame it is in this Thread's StackFrameList.
ProcessWasm provides the access to the Wasm program state retrieved from the Wasm engine.
process_gdb_remote::GDBRemoteDynamicRegisterInfoSP & GetRegisterInfo()
ProcessWasm provides the access to the Wasm program state retrieved from the Wasm engine.
llvm::Expected< std::vector< lldb::addr_t > > GetWasmCallStack()
Retrieve the current call stack from the WebAssembly remote process.
std::vector< lldb::addr_t > m_frames
lldb::RegisterContextSP DoCreateRegisterContextForFrame(lldb_private::StackFrame *frame) override
bool DoGetFrameInfoAtIndex(uint32_t frame_idx, lldb::addr_t &cfa, lldb::addr_t &pc, bool &behaves_like_zeroth_frame) override
uint32_t DoGetFrameCount() override
A class that represents a running process on the host machine.
Log * GetLog(Cat mask)
Retrieve the Log object for the channel associated with the given log enum.
std::shared_ptr< lldb_private::Thread > ThreadSP
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP