LLDB mainline
ProcessFreeBSDKernel.h
Go to the documentation of this file.
1//===-- ProcessFreeBSDKernel.h ----------------------------------*- C++ -*-===//
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_PROCESSFREEBSDKERNEL_H
10#define LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNEL_H
11
13
15public:
16 ProcessFreeBSDKernel(lldb::TargetSP target_sp, lldb::ListenerSP listener);
17
18 static lldb::ProcessSP
19 CreateInstance(lldb::TargetSP target_sp, lldb::ListenerSP listener,
20 const lldb_private::FileSpec *crash_file_path,
21 bool can_connect);
22
23 static void Initialize();
24
25 static void Terminate();
26
27 static llvm::StringRef GetPluginNameStatic() { return "freebsd-kernel"; }
28
29 static llvm::StringRef GetPluginDescriptionStatic() {
30 return "FreeBSD kernel vmcore debugging plug-in.";
31 }
32
33 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
34
36
37 bool CanDebug(lldb::TargetSP target_sp,
38 bool plugin_specified_by_name) override;
39
40 void RefreshStateAfterStop() override;
41
43
45
46protected:
47 bool DoUpdateThreadList(lldb_private::ThreadList &old_thread_list,
48 lldb_private::ThreadList &new_thread_list) override;
49
50 lldb::addr_t FindSymbol(const char* name);
51};
52
53#endif // LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNEL_H
lldb_private::Status DoLoadCore() override
bool DoUpdateThreadList(lldb_private::ThreadList &old_thread_list, lldb_private::ThreadList &new_thread_list) override
Update the thread list following process plug-in's specific logic.
bool CanDebug(lldb::TargetSP target_sp, bool plugin_specified_by_name) override
Check if a plug-in instance can debug the file in module.
llvm::StringRef GetPluginName() override
void RefreshStateAfterStop() override
Currently called as part of ShouldStop.
lldb::addr_t FindSymbol(const char *name)
lldb_private::DynamicLoader * GetDynamicLoader() override
Get the dynamic loader plug-in for this process.
static llvm::StringRef GetPluginNameStatic()
lldb_private::Status DoDestroy() override
static lldb::ProcessSP CreateInstance(lldb::TargetSP target_sp, lldb::ListenerSP listener, const lldb_private::FileSpec *crash_file_path, bool can_connect)
static llvm::StringRef GetPluginDescriptionStatic()
A plug-in interface definition class for dynamic loaders.
Definition: DynamicLoader.h:52
A file utility class.
Definition: FileSpec.h:56
Base class for all processes that don't represent a live process, such as coredumps or processes trac...
An error handling class.
Definition: Status.h:44
uint64_t addr_t
Definition: lldb-types.h:79