LLDB
mainline
llvm-project
lldb
source
Plugins
InstrumentationRuntime
ASanLibsanitizers
InstrumentationRuntimeASanLibsanitizers.h
Go to the documentation of this file.
1
//===-- InstrumentationRuntimeASanLibsanitizers.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_INSTRUMENTATIONRUNTIME_ASANLIBSANITIZERS_INSTRUMENTATIONRUNTIMEASANLIBSANITIZERS_H
10
#define LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_ASANLIBSANITIZERS_INSTRUMENTATIONRUNTIMEASANLIBSANITIZERS_H
11
12
#include "
lldb/Target/InstrumentationRuntime.h
"
13
14
class
InstrumentationRuntimeASanLibsanitizers
15
:
public
lldb_private::InstrumentationRuntime
{
16
public
:
17
~InstrumentationRuntimeASanLibsanitizers
()
override
;
18
19
static
lldb::InstrumentationRuntimeSP
20
CreateInstance
(
const
lldb::ProcessSP
&process_sp);
21
22
static
void
Initialize
();
23
24
static
void
Terminate
();
25
26
static
llvm::StringRef
GetPluginNameStatic
() {
return
"Libsanitizers-ASan"
; }
27
28
static
lldb::InstrumentationRuntimeType
GetTypeStatic
();
29
30
llvm::StringRef
GetPluginName
()
override
{
return
GetPluginNameStatic
(); }
31
32
virtual
lldb::InstrumentationRuntimeType
GetType
() {
return
GetTypeStatic
(); }
33
34
private
:
35
InstrumentationRuntimeASanLibsanitizers
(
const
lldb::ProcessSP
&process_sp)
36
:
lldb_private
::
InstrumentationRuntime
(process_sp) {}
37
38
const
lldb_private::RegularExpression
&
GetPatternForRuntimeLibrary
()
override
;
39
40
bool
CheckIfRuntimeIsValid
(
const
lldb::ModuleSP
module_sp)
override
;
41
42
void
Activate
()
override
;
43
44
void
Deactivate
();
45
46
static
bool
47
NotifyBreakpointHit
(
void
*baton,
48
lldb_private::StoppointCallbackContext
*context,
49
lldb::user_id_t
break_id,
lldb::user_id_t
break_loc_id);
50
};
51
52
#endif
// LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_ASANLIBSANITIZERS_INSTRUMENTATIONRUNTIMEASANLIBSANITIZERS_H
InstrumentationRuntime.h
InstrumentationRuntimeASanLibsanitizers
Definition:
InstrumentationRuntimeASanLibsanitizers.h:15
InstrumentationRuntimeASanLibsanitizers::GetTypeStatic
static lldb::InstrumentationRuntimeType GetTypeStatic()
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:45
InstrumentationRuntimeASanLibsanitizers::GetPluginName
llvm::StringRef GetPluginName() override
Definition:
InstrumentationRuntimeASanLibsanitizers.h:30
InstrumentationRuntimeASanLibsanitizers::~InstrumentationRuntimeASanLibsanitizers
~InstrumentationRuntimeASanLibsanitizers() override
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:50
InstrumentationRuntimeASanLibsanitizers::Deactivate
void Deactivate()
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:117
InstrumentationRuntimeASanLibsanitizers::GetPluginNameStatic
static llvm::StringRef GetPluginNameStatic()
Definition:
InstrumentationRuntimeASanLibsanitizers.h:26
InstrumentationRuntimeASanLibsanitizers::GetType
virtual lldb::InstrumentationRuntimeType GetType()
Definition:
InstrumentationRuntimeASanLibsanitizers.h:32
InstrumentationRuntimeASanLibsanitizers::Terminate
static void Terminate()
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:40
InstrumentationRuntimeASanLibsanitizers::CreateInstance
static lldb::InstrumentationRuntimeSP CreateInstance(const lldb::ProcessSP &process_sp)
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:27
InstrumentationRuntimeASanLibsanitizers::CheckIfRuntimeIsValid
bool CheckIfRuntimeIsValid(const lldb::ModuleSP module_sp) override
Check whether module_sp corresponds to a valid runtime library.
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:61
InstrumentationRuntimeASanLibsanitizers::GetPatternForRuntimeLibrary
const lldb_private::RegularExpression & GetPatternForRuntimeLibrary() override
Return a regular expression which can be used to identify a valid version of the runtime library.
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:55
InstrumentationRuntimeASanLibsanitizers::Activate
void Activate() override
Register a breakpoint in the runtime library and perform any other necessary initialization.
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:85
InstrumentationRuntimeASanLibsanitizers::NotifyBreakpointHit
static bool NotifyBreakpointHit(void *baton, lldb_private::StoppointCallbackContext *context, lldb::user_id_t break_id, lldb::user_id_t break_loc_id)
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:69
InstrumentationRuntimeASanLibsanitizers::Initialize
static void Initialize()
Definition:
InstrumentationRuntimeASanLibsanitizers.cpp:33
InstrumentationRuntimeASanLibsanitizers::InstrumentationRuntimeASanLibsanitizers
InstrumentationRuntimeASanLibsanitizers(const lldb::ProcessSP &process_sp)
Definition:
InstrumentationRuntimeASanLibsanitizers.h:35
lldb_private::InstrumentationRuntime
Definition:
InstrumentationRuntime.h:29
lldb_private::InstrumentationRuntime::InstrumentationRuntime
InstrumentationRuntime(const lldb::ProcessSP &process_sp)
Definition:
InstrumentationRuntime.h:44
lldb_private::RegularExpression
Definition:
RegularExpression.h:18
lldb_private::StoppointCallbackContext
General Outline: When we hit a breakpoint we need to package up whatever information is needed to eva...
Definition:
StoppointCallbackContext.h:26
lldb_private
A class that represents a running process on the host machine.
Definition:
SBAddressRange.h:14
lldb::ProcessSP
std::shared_ptr< lldb_private::Process > ProcessSP
Definition:
lldb-forward.h:389
lldb::InstrumentationRuntimeType
InstrumentationRuntimeType
Definition:
lldb-enumerations.h:527
lldb::user_id_t
uint64_t user_id_t
Definition:
lldb-types.h:82
lldb::InstrumentationRuntimeSP
std::shared_ptr< lldb_private::InstrumentationRuntime > InstrumentationRuntimeSP
Definition:
lldb-forward.h:360
lldb::ModuleSP
std::shared_ptr< lldb_private::Module > ModuleSP
Definition:
lldb-forward.h:373
Generated on Tue Jan 7 2025 10:40:54 for LLDB by
1.9.6