llvm-project/lldb/source/Target
Jonas Devlieghere e103ae92ef Add setting to require hardware breakpoints.
When debugging read-only memory we cannot use software breakpoint. We
already have support for hardware breakpoints and users can specify them
with `-H`. However, there's no option to force LLDB to use hardware
breakpoints internally, for example while stepping.

This patch adds a setting target.require-hardware-breakpoint that forces
LLDB to always use hardware breakpoints. Because hardware breakpoints
are a limited resource and can fail to resolve, this patch also extends
error handling in thread plans, where breakpoints are used for stepping.

Differential revision: https://reviews.llvm.org/D54221

llvm-svn: 346920
2018-11-15 01:18:15 +00:00
..
ABI.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
CMakeLists.txt [lldb] Introduce StackFrameRecognizer [take 3] 2018-10-31 04:00:22 +00:00
CPPLanguageRuntime.cpp Adding support to step into the callable wrapped by libc++ std::function 2018-10-12 17:20:39 +00:00
ExecutionContext.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
FileAction.cpp Move classes from Core -> Utility. 2017-02-02 21:39:50 +00:00
InstrumentationRuntime.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
InstrumentationRuntimeStopInfo.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
JITLoader.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
JITLoaderList.cpp [lldb] Fix typos in file headers 2016-11-26 05:23:44 +00:00
Language.cpp [LLDB] Added syntax highlighting support 2018-08-02 00:30:15 +00:00
LanguageRuntime.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
Memory.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
MemoryHistory.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ModuleCache.cpp [FileSystem] Open File instances through the FileSystem. 2018-11-02 22:34:51 +00:00
ObjCLanguageRuntime.cpp Reflow paragraphs in comments. 2018-04-30 16:49:04 +00:00
OperatingSystem.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
PathMappingList.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
Platform.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
Process.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ProcessInfo.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ProcessLaunchInfo.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
Queue.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
QueueItem.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
QueueList.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
RegisterContext.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
RegisterNumber.cpp Remove dependencies from Utility to Core and Target. 2017-02-14 19:06:07 +00:00
SectionLoadHistory.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
SectionLoadList.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
StackFrame.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
StackFrameList.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
StackFrameRecognizer.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
StackID.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
StopInfo.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
StructuredDataPlugin.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
SystemRuntime.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
Target.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
TargetList.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
Thread.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadCollection.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
ThreadList.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ThreadPlan.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanBase.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ThreadPlanCallFunction.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ThreadPlanCallFunctionUsingABI.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ThreadPlanCallOnFunctionExit.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanCallUserExpression.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ThreadPlanPython.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanRunToAddress.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanShouldStopHere.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanStepInRange.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanStepInstruction.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanStepOut.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanStepOverBreakpoint.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ThreadPlanStepOverRange.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanStepRange.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanStepThrough.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanStepUntil.cpp Add setting to require hardware breakpoints. 2018-11-15 01:18:15 +00:00
ThreadPlanTracer.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
ThreadSpec.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
UnixSignals.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00
UnwindAssembly.cpp Remove header grouping comments. 2018-11-11 23:17:06 +00:00