LLDB
mainline
llvm-project
lldb
include
lldb
Target
ThreadPlanStepOverRange.h
Go to the documentation of this file.
1
//===-- ThreadPlanStepOverRange.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_TARGET_THREADPLANSTEPOVERRANGE_H
10
#define LLDB_TARGET_THREADPLANSTEPOVERRANGE_H
11
12
#include "
lldb/Core/AddressRange.h
"
13
#include "
lldb/Target/StackID.h
"
14
#include "
lldb/Target/Thread.h
"
15
#include "
lldb/Target/ThreadPlanStepRange.h
"
16
17
namespace
lldb_private
{
18
19
class
ThreadPlanStepOverRange
:
public
ThreadPlanStepRange
,
20
ThreadPlanShouldStopHere
{
21
public
:
22
ThreadPlanStepOverRange
(
Thread
&thread,
const
AddressRange
&range,
23
const
SymbolContext
&addr_context,
24
lldb::RunMode
stop_others,
25
LazyBool
step_out_avoids_no_debug);
26
27
~ThreadPlanStepOverRange
()
override
;
28
29
void
GetDescription
(
Stream
*s,
lldb::DescriptionLevel
level)
override
;
30
bool
ShouldStop
(
Event
*event_ptr)
override
;
31
32
protected
:
33
bool
DoPlanExplainsStop
(
Event
*event_ptr)
override
;
34
bool
DoWillResume
(
lldb::StateType
resume_state,
bool
current_plan)
override
;
35
36
void
SetFlagsToDefault
()
override
{
37
GetFlags
().
Set
(
ThreadPlanStepOverRange::s_default_flag_values
);
38
}
39
40
private
:
41
static
uint32_t
s_default_flag_values
;
42
43
void
SetupAvoidNoDebug
(
LazyBool
step_out_avoids_code_without_debug_info);
44
bool
IsEquivalentContext
(
const
SymbolContext
&context);
45
46
bool
m_first_resume
;
47
48
ThreadPlanStepOverRange
(
const
ThreadPlanStepOverRange
&) =
delete
;
49
const
ThreadPlanStepOverRange
&
50
operator=
(
const
ThreadPlanStepOverRange
&) =
delete
;
51
};
52
53
}
// namespace lldb_private
54
55
#endif
// LLDB_TARGET_THREADPLANSTEPOVERRANGE_H
AddressRange.h
StackID.h
ThreadPlanStepRange.h
Thread.h
lldb_private::AddressRange
A section + offset based address range class.
Definition:
AddressRange.h:25
lldb_private::Event
Definition:
Event.h:179
lldb_private::Flags::Set
ValueType Set(ValueType mask)
Set one or more flags by logical OR'ing mask with the current flags.
Definition:
Flags.h:73
lldb_private::Stream
A stream class that can stream formatted output to a file.
Definition:
Stream.h:28
lldb_private::SymbolContext
Defines a symbol context baton that can be handed other debug core functions.
Definition:
SymbolContext.h:33
lldb_private::ThreadPlanShouldStopHere
Definition:
ThreadPlanShouldStopHere.h:34
lldb_private::ThreadPlanShouldStopHere::GetFlags
lldb_private::Flags & GetFlags()
Definition:
ThreadPlanShouldStopHere.h:104
lldb_private::ThreadPlanStepOverRange
Definition:
ThreadPlanStepOverRange.h:20
lldb_private::ThreadPlanStepOverRange::s_default_flag_values
static uint32_t s_default_flag_values
Definition:
ThreadPlanStepOverRange.h:41
lldb_private::ThreadPlanStepOverRange::DoPlanExplainsStop
bool DoPlanExplainsStop(Event *event_ptr) override
Definition:
ThreadPlanStepOverRange.cpp:337
lldb_private::ThreadPlanStepOverRange::m_first_resume
bool m_first_resume
Definition:
ThreadPlanStepOverRange.h:46
lldb_private::ThreadPlanStepOverRange::ShouldStop
bool ShouldStop(Event *event_ptr) override
Definition:
ThreadPlanStepOverRange.cpp:127
lldb_private::ThreadPlanStepOverRange::GetDescription
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
Definition:
ThreadPlanStepOverRange.cpp:46
lldb_private::ThreadPlanStepOverRange::SetupAvoidNoDebug
void SetupAvoidNoDebug(LazyBool step_out_avoids_code_without_debug_info)
Definition:
ThreadPlanStepOverRange.cpp:78
lldb_private::ThreadPlanStepOverRange::ThreadPlanStepOverRange
ThreadPlanStepOverRange(const ThreadPlanStepOverRange &)=delete
lldb_private::ThreadPlanStepOverRange::IsEquivalentContext
bool IsEquivalentContext(const SymbolContext &context)
Definition:
ThreadPlanStepOverRange.cpp:102
lldb_private::ThreadPlanStepOverRange::operator=
const ThreadPlanStepOverRange & operator=(const ThreadPlanStepOverRange &)=delete
lldb_private::ThreadPlanStepOverRange::SetFlagsToDefault
void SetFlagsToDefault() override
Definition:
ThreadPlanStepOverRange.h:36
lldb_private::ThreadPlanStepOverRange::DoWillResume
bool DoWillResume(lldb::StateType resume_state, bool current_plan) override
Definition:
ThreadPlanStepOverRange.cpp:368
lldb_private::ThreadPlanStepOverRange::~ThreadPlanStepOverRange
~ThreadPlanStepOverRange() override
lldb_private::ThreadPlanStepRange
Definition:
ThreadPlanStepRange.h:20
lldb_private::Thread
Definition:
Thread.h:65
lldb_private
A class that represents a running process on the host machine.
Definition:
SBAttachInfo.h:14
lldb_private::LazyBool
LazyBool
Definition:
lldb-private-enumerations.h:115
lldb::DescriptionLevel
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
Definition:
lldb-enumerations.h:208
lldb::StateType
StateType
Process and Thread States.
Definition:
lldb-enumerations.h:74
lldb::RunMode
RunMode
Thread Run Modes.
Definition:
lldb-enumerations.h:136
Generated on Thu Dec 7 2023 01:28:30 for LLDB by
1.9.6