LLDB mainline
ThreadWasm.h
Go to the documentation of this file.
1//===----------------------------------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_WASM_THREADWASM_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_WASM_THREADWASM_H
11
13
14namespace lldb_private {
15namespace wasm {
16
17/// ProcessWasm provides the access to the Wasm program state
18/// retrieved from the Wasm engine.
20public:
22 : process_gdb_remote::ThreadGDBRemote(process, tid) {}
23 ~ThreadWasm() override = default;
24
25 /// Retrieve the current call stack from the WebAssembly remote process.
26 llvm::Expected<std::vector<lldb::addr_t>> GetWasmCallStack();
27
30
31protected:
32 Unwind &GetUnwinder() override;
33
35 const ThreadWasm &operator=(const ThreadWasm &) = delete;
36};
37
38} // namespace wasm
39} // namespace lldb_private
40
41#endif // LLDB_SOURCE_PLUGINS_PROCESS_WASM_THREADWASM_H
A plug-in interface definition class for debugging a process.
Definition Process.h:357
friend class StackFrame
Definition Thread.h:1303
ThreadGDBRemote(Process &process, lldb::tid_t tid)
ThreadWasm(const ThreadWasm &)
Unwind & GetUnwinder() override
ThreadWasm(Process &process, lldb::tid_t tid)
Definition ThreadWasm.h:21
~ThreadWasm() override=default
llvm::Expected< std::vector< lldb::addr_t > > GetWasmCallStack()
Retrieve the current call stack from the WebAssembly remote process.
const ThreadWasm & operator=(const ThreadWasm &)=delete
lldb::RegisterContextSP CreateRegisterContextForFrame(StackFrame *frame) override
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP
uint64_t tid_t
Definition lldb-types.h:84