llvm-project/lldb
Jim Ingham a435d73349 Work around some odd instruction single-step behavior on macOS.
We've seen some cases on macOS where you go to instruction single
step (over a breakpoint), and single step returns but the instruction
hasn't been executed (and the pc hasn't moved.)  The ThreadPlanStepOverBreakpoint
used to handle this case by accident, but the patches to handle two adjacent
breakpoints broke that accident.

This patch fixes the logic of ExplainsStop to explicitly handle the case where
the pc didn't move.  It also adds a WillPop that re-enables the breakpoint we
were stepping over.  We never want an unexpected path through the plan to
fool us into not doing that.

I have no idea how to make this bug happen.  It is very inconsistent when it
occurs IRL.  We really need a full MockProcess Plugin before we can start to write
tests for this sort of system hiccup.

<rdar://problem/38505726>

llvm-svn: 332922
2018-05-22 00:06:55 +00:00
..
cmake [cmake] Fix standalone+LLVM_LINK_LLVM_DYLIB builds (pr36687) 2018-03-14 10:08:21 +00:00
docs Enable AUTOBRIEF in doxygen configuration. 2018-05-02 16:55:16 +00:00
examples Added a BSD archive tool. 2018-04-02 17:20:21 +00:00
include/lldb Work around some odd instruction single-step behavior on macOS. 2018-05-22 00:06:55 +00:00
lit Improve coverage of the apple-tables test 2018-05-21 10:09:22 +00:00
lldb.xcodeproj Work around some odd instruction single-step behavior on macOS. 2018-05-22 00:06:55 +00:00
lldb.xcworkspace Fix a typo in the gtest build target for Debug configuration. 2018-04-10 17:49:56 +00:00
packages/Python/lldbsuite Fix _NSCFBoolean data formatter. 2018-05-18 09:14:45 +00:00
resources
scripts Enable Python API for OpenBSD. 2018-05-21 19:47:45 +00:00
source Work around some odd instruction single-step behavior on macOS. 2018-05-22 00:06:55 +00:00
test [CMake] Unify and relayer testing 2018-05-03 16:54:10 +00:00
third_party/Python/module *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
tools [CMake] Unify and relayer testing 2018-05-03 16:54:10 +00:00
unittests Fix PathMappingList for relative and empty paths after recent FileSpec normalization changes 2018-05-21 14:14:36 +00:00
utils [CMake] Unify and relayer testing 2018-05-03 16:54:10 +00:00
www [docs] Add LLDB_TEST_USE_CUSTOM_C_COMPILER and LLDB_TEST_USE_CUSTOM_CXX_COMPILER to the build and test hmtl pages 2018-04-12 23:29:49 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.clang-format Updated .clang-format rules so bring LLDB in line with LLVM standards. 2016-09-06 17:19:00 +00:00
.gitignore [dotest] Remove crashinfo hook 2018-01-10 10:18:47 +00:00
CMakeLists.txt [CMake] Unify and relayer testing 2018-05-03 16:54:10 +00:00
CODE_OWNERS.txt Remove Sean Callanan from the CODE_OWNERS, he won't have time 2017-11-01 01:38:42 +00:00
INSTALL.txt Changed builld-llvm.py to use .json files 2017-02-23 02:21:34 +00:00
LICENSE.TXT
use_lldb_suite_root.py *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00