LLDB
mainline
llvm-project
lldb
source
Plugins
Process
FreeBSDKernel
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
12
#include "
lldb/Target/PostMortemProcess.h
"
13
14
class
ProcessFreeBSDKernel
:
public
lldb_private::PostMortemProcess
{
15
public
:
16
ProcessFreeBSDKernel
(
lldb::TargetSP
target_sp,
lldb::ListenerSP
listener,
17
const
lldb_private::FileSpec
&core_file);
18
19
static
lldb::ProcessSP
20
CreateInstance
(
lldb::TargetSP
target_sp,
lldb::ListenerSP
listener,
21
const
lldb_private::FileSpec
*crash_file_path,
22
bool
can_connect);
23
24
static
void
Initialize
();
25
26
static
void
Terminate
();
27
28
static
llvm::StringRef
GetPluginNameStatic
() {
return
"freebsd-kernel"
; }
29
30
static
llvm::StringRef
GetPluginDescriptionStatic
() {
31
return
"FreeBSD kernel vmcore debugging plug-in."
;
32
}
33
34
llvm::StringRef
GetPluginName
()
override
{
return
GetPluginNameStatic
(); }
35
36
lldb_private::Status
DoDestroy
()
override
;
37
38
bool
CanDebug
(
lldb::TargetSP
target_sp,
39
bool
plugin_specified_by_name)
override
;
40
41
void
RefreshStateAfterStop
()
override
;
42
43
lldb_private::Status
DoLoadCore
()
override
;
44
45
lldb_private::DynamicLoader
*
GetDynamicLoader
()
override
;
46
47
protected
:
48
bool
DoUpdateThreadList
(
lldb_private::ThreadList
&old_thread_list,
49
lldb_private::ThreadList
&new_thread_list)
override
;
50
51
lldb::addr_t
FindSymbol
(
const
char
* name);
52
};
53
54
#endif
// LLDB_SOURCE_PLUGINS_PROCESS_FREEBSDKERNEL_PROCESSFREEBSDKERNEL_H
PostMortemProcess.h
ProcessFreeBSDKernel
Definition:
ProcessFreeBSDKernel.h:14
ProcessFreeBSDKernel::DoLoadCore
lldb_private::Status DoLoadCore() override
Definition:
ProcessFreeBSDKernel.cpp:258
ProcessFreeBSDKernel::DoUpdateThreadList
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.
Definition:
ProcessFreeBSDKernel.cpp:123
ProcessFreeBSDKernel::CanDebug
bool CanDebug(lldb::TargetSP target_sp, bool plugin_specified_by_name) override
Check if a plug-in instance can debug the file in module.
Definition:
ProcessFreeBSDKernel.cpp:116
ProcessFreeBSDKernel::Initialize
static void Initialize()
Definition:
ProcessFreeBSDKernel.cpp:101
ProcessFreeBSDKernel::GetPluginName
llvm::StringRef GetPluginName() override
Definition:
ProcessFreeBSDKernel.h:34
ProcessFreeBSDKernel::RefreshStateAfterStop
void RefreshStateAfterStop() override
Currently called as part of ShouldStop.
Definition:
ProcessFreeBSDKernel.cpp:121
ProcessFreeBSDKernel::FindSymbol
lldb::addr_t FindSymbol(const char *name)
Definition:
ProcessFreeBSDKernel.cpp:270
ProcessFreeBSDKernel::GetDynamicLoader
lldb_private::DynamicLoader * GetDynamicLoader() override
Get the dynamic loader plug-in for this process.
Definition:
ProcessFreeBSDKernel.cpp:263
ProcessFreeBSDKernel::GetPluginNameStatic
static llvm::StringRef GetPluginNameStatic()
Definition:
ProcessFreeBSDKernel.h:28
ProcessFreeBSDKernel::DoDestroy
lldb_private::Status DoDestroy() override
Definition:
ProcessFreeBSDKernel.cpp:114
ProcessFreeBSDKernel::Terminate
static void Terminate()
Definition:
ProcessFreeBSDKernel.cpp:110
ProcessFreeBSDKernel::CreateInstance
static lldb::ProcessSP CreateInstance(lldb::TargetSP target_sp, lldb::ListenerSP listener, const lldb_private::FileSpec *crash_file_path, bool can_connect)
Definition:
ProcessFreeBSDKernel.cpp:74
ProcessFreeBSDKernel::GetPluginDescriptionStatic
static llvm::StringRef GetPluginDescriptionStatic()
Definition:
ProcessFreeBSDKernel.h:30
lldb_private::DynamicLoader
A plug-in interface definition class for dynamic loaders.
Definition:
DynamicLoader.h:53
lldb_private::FileSpec
A file utility class.
Definition:
FileSpec.h:56
lldb_private::PostMortemProcess
Base class for all processes that don't represent a live process, such as coredumps or processes trac...
Definition:
PostMortemProcess.h:23
lldb_private::Status
An error handling class.
Definition:
Status.h:44
lldb_private::ThreadList
Definition:
ThreadList.h:26
lldb::ProcessSP
std::shared_ptr< lldb_private::Process > ProcessSP
Definition:
lldb-forward.h:387
lldb::ListenerSP
std::shared_ptr< lldb_private::Listener > ListenerSP
Definition:
lldb-forward.h:366
lldb::addr_t
uint64_t addr_t
Definition:
lldb-types.h:80
lldb::TargetSP
std::shared_ptr< lldb_private::Target > TargetSP
Definition:
lldb-forward.h:444
Generated on Sun Dec 8 2024 11:05:25 for LLDB by
1.9.6