LLDB mainline
ThreadFreeBSDKernelCore.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_FREEBSDKERNEL_THREADFREEBSDKERNELCORE_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_THREADFREEBSDKERNELCORE_H
11
12#include "lldb/Target/Thread.h"
13
15public:
17 lldb::addr_t pcb_addr, std::string thread_name);
18
19 ~ThreadFreeBSDKernelCore() override;
20
21 void RefreshStateAfterStop() override;
22
23 const char *GetName() override {
24 if (m_thread_name.empty())
25 return nullptr;
26 return m_thread_name.c_str();
27 }
28
29 void SetName(const char *name) override {
30 if (name && name[0])
31 m_thread_name.assign(name);
32 else
33 m_thread_name.clear();
34 }
35
37
40
41 bool CalculateStopInfo() override;
42
43 void SetIsCrashedThread(bool is_crashed) { m_is_crashed = is_crashed; }
44
45private:
46 std::string m_thread_name;
49 bool m_is_crashed = false;
50};
51
52#endif // LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_THREADFREEBSDKERNELCORE_H
lldb::RegisterContextSP m_thread_reg_ctx_sp
void SetName(const char *name) override
const char * GetName() override
ThreadFreeBSDKernelCore(lldb_private::Process &process, lldb::tid_t tid, lldb::addr_t pcb_addr, std::string thread_name)
lldb::RegisterContextSP CreateRegisterContextForFrame(lldb_private::StackFrame *frame) override
bool CalculateStopInfo() override
Ask the thread subclass to set its stop info.
lldb::RegisterContextSP GetRegisterContext() override
void SetIsCrashedThread(bool is_crashed)
A plug-in interface definition class for debugging a process.
Definition Process.h:354
This base class provides an interface to stack frames.
Definition StackFrame.h:44
uint64_t addr_t
Definition lldb-types.h:80
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP
uint64_t tid_t
Definition lldb-types.h:84