diff options
| author | Jonas Devlieghere <jonas@devlieghere.com> | 2018-11-15 01:18:15 +0000 |
|---|---|---|
| committer | Jonas Devlieghere <jonas@devlieghere.com> | 2018-11-15 01:18:15 +0000 |
| commit | e103ae92ef2336854587778bd3ae88a87e409a5e (patch) | |
| tree | a474b4d1db388480dd129f0ab61a690a4f504ca5 /lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp | |
| parent | df14b94243e9e8ade2747e6adb8a3d9d2cfa71ae (diff) | |
| download | bcm5719-llvm-e103ae92ef2336854587778bd3ae88a87e409a5e.tar.gz bcm5719-llvm-e103ae92ef2336854587778bd3ae88a87e409a5e.zip | |
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
Diffstat (limited to 'lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp')
| -rw-r--r-- | lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp b/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp index e8ea73f3c6a..2ea083dac45 100644 --- a/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp +++ b/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp @@ -27,17 +27,18 @@ void ThreadPlanCallOnFunctionExit::DidPush() { // completes. // Set stop vote to eVoteNo. + Status status; m_step_out_threadplan_sp = GetThread().QueueThreadPlanForStepOut( false, // abort other plans nullptr, // addr_context true, // first instruction true, // stop other threads eVoteNo, // do not say "we're stopping" - eVoteNoOpinion, // don't care about - // run state broadcasting + eVoteNoOpinion, // don't care about run state broadcasting 0, // frame_idx + status, // status eLazyBoolCalculate // avoid code w/o debinfo - ); + ); } // ------------------------------------------------------------------------- |

