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
#include "
lldb/Target/TimeoutResumeAll.h
"
17
18
namespace
lldb_private
{
19
20
class
ThreadPlanStepOverRange
:
public
ThreadPlanStepRange
,
21
ThreadPlanShouldStopHere
,
22
TimeoutResumeAll
{
23
public
:
24
ThreadPlanStepOverRange
(
Thread
&thread,
const
AddressRange
&range,
25
const
SymbolContext
&addr_context,
26
lldb::RunMode
stop_others,
27
LazyBool
step_out_avoids_no_debug);
28
29
~ThreadPlanStepOverRange
()
override
;
30
31
void
GetDescription
(
Stream
*s,
lldb::DescriptionLevel
level)
override
;
32
void
SetStopOthers
(
bool
new_value)
override
;
33
bool
ShouldStop
(
Event
*event_ptr)
override
;
34
void
DidPush
()
override
;
35
36
protected
:
37
bool
DoPlanExplainsStop
(
Event
*event_ptr)
override
;
38
bool
DoWillResume
(
lldb::StateType
resume_state,
bool
current_plan)
override
;
39
40
void
SetFlagsToDefault
()
override
{
41
GetFlags
().
Set
(
ThreadPlanStepOverRange::s_default_flag_values
);
42
}
43
44
private
:
45
static
uint32_t
s_default_flag_values
;
46
47
void
SetupAvoidNoDebug
(
LazyBool
step_out_avoids_code_without_debug_info);
48
bool
IsEquivalentContext
(
const
SymbolContext
&context);
49
50
bool
m_first_resume
;
51
lldb::RunMode
m_run_mode
;
52
53
ThreadPlanStepOverRange
(
const
ThreadPlanStepOverRange
&) =
delete
;
54
const
ThreadPlanStepOverRange
&
55
operator=
(
const
ThreadPlanStepOverRange
&) =
delete
;
56
};
57
58
}
// namespace lldb_private
59
60
#endif
// LLDB_TARGET_THREADPLANSTEPOVERRANGE_H
AddressRange.h
StackID.h
ThreadPlanStepRange.h
Thread.h
TimeoutResumeAll.h
lldb_private::AddressRange
A section + offset based address range class.
Definition:
AddressRange.h:25
lldb_private::Event
Definition:
Event.h:180
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:34
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:22
lldb_private::ThreadPlanStepOverRange::s_default_flag_values
static uint32_t s_default_flag_values
Definition:
ThreadPlanStepOverRange.h:45
lldb_private::ThreadPlanStepOverRange::DoPlanExplainsStop
bool DoPlanExplainsStop(Event *event_ptr) override
Definition:
ThreadPlanStepOverRange.cpp:361
lldb_private::ThreadPlanStepOverRange::m_first_resume
bool m_first_resume
Definition:
ThreadPlanStepOverRange.h:50
lldb_private::ThreadPlanStepOverRange::ShouldStop
bool ShouldStop(Event *event_ptr) override
Definition:
ThreadPlanStepOverRange.cpp:139
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:49
lldb_private::ThreadPlanStepOverRange::SetupAvoidNoDebug
void SetupAvoidNoDebug(LazyBool step_out_avoids_code_without_debug_info)
Definition:
ThreadPlanStepOverRange.cpp:81
lldb_private::ThreadPlanStepOverRange::ThreadPlanStepOverRange
ThreadPlanStepOverRange(const ThreadPlanStepOverRange &)=delete
lldb_private::ThreadPlanStepOverRange::IsEquivalentContext
bool IsEquivalentContext(const SymbolContext &context)
Definition:
ThreadPlanStepOverRange.cpp:105
lldb_private::ThreadPlanStepOverRange::DidPush
void DidPush() override
Definition:
ThreadPlanStepOverRange.cpp:355
lldb_private::ThreadPlanStepOverRange::operator=
const ThreadPlanStepOverRange & operator=(const ThreadPlanStepOverRange &)=delete
lldb_private::ThreadPlanStepOverRange::SetFlagsToDefault
void SetFlagsToDefault() override
Definition:
ThreadPlanStepOverRange.h:40
lldb_private::ThreadPlanStepOverRange::DoWillResume
bool DoWillResume(lldb::StateType resume_state, bool current_plan) override
Definition:
ThreadPlanStepOverRange.cpp:392
lldb_private::ThreadPlanStepOverRange::m_run_mode
lldb::RunMode m_run_mode
Definition:
ThreadPlanStepOverRange.h:51
lldb_private::ThreadPlanStepOverRange::~ThreadPlanStepOverRange
~ThreadPlanStepOverRange() override
lldb_private::ThreadPlanStepOverRange::SetStopOthers
void SetStopOthers(bool new_value) override
Definition:
ThreadPlanStepOverRange.cpp:134
lldb_private::ThreadPlanStepRange
Definition:
ThreadPlanStepRange.h:20
lldb_private::Thread
Definition:
Thread.h:69
lldb_private::TimeoutResumeAll
Definition:
TimeoutResumeAll.h:20
lldb_private
A class that represents a running process on the host machine.
Definition:
SBAddressRange.h:14
lldb_private::LazyBool
LazyBool
Definition:
lldb-private-enumerations.h:123
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 Wed Dec 25 2024 05:13:58 for LLDB by
1.9.6