[all-commits] [llvm/llvm-project] 658f6e: Make ignore counts work as "after stop" modifiers ...
jimingham via All-commits
all-commits at lists.llvm.org
Tue Jun 1 18:22:45 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 658f6ed1523b0e61ddee494ce1691f29a701c317
https://github.com/llvm/llvm-project/commit/658f6ed1523b0e61ddee494ce1691f29a701c317
Author: Jim Ingham <jingham at apple.com>
Date: 2021-06-01 (Tue, 01 Jun 2021)
Changed paths:
M lldb/include/lldb/Breakpoint/Breakpoint.h
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
M lldb/test/API/functionalities/breakpoint/breakpoint_ignore_count/main.c
Log Message:
-----------
Make ignore counts work as "after stop" modifiers so they play nicely with conditions
Previously ignore counts were checked when we stopped to do the sync callback in Breakpoint::ShouldStop. That meant we would do all the ignore count work even when
there is also a condition says the breakpoint should not stop.
That's wrong, lldb treats breakpoint hits that fail the thread or condition checks as "not having hit the breakpoint". So the ignore count check should happen after
the condition and thread checks in StopInfoBreakpoint::PerformAction.
The one side-effect of doing this is that if you have a breakpoint with a synchronous callback, it will run the synchronous callback before checking the ignore count.
That is probably a good thing, since this was already true of the condition and thread checks, so this removes an odd asymmetry. And breakpoints with sync callbacks
are all internal lldb breakpoints and there's not a really good reason why you would want one of these to use an ignore count (but not a condition or thread check...)
Differential Revision https://reviews.llvm.org/D103217
More information about the All-commits
mailing list