From 5dcf5cc0e0b462be99d1ae3d993ec11b039097b8 Mon Sep 17 00:00:00 2001 From: Felipe de Azevedo Piovezan Date: Tue, 14 Jan 2025 11:25:58 -0800 Subject: [lldb] Remove unfiltered stop reason propagation from StopInfoMachException (#122817) In the presence of OS plugins, StopInfoMachException currently propagates breakpoint stop reasons even if those breakpoints were not intended for a specific thread, effectively removing our ability to set thread-specific breakpoints. This was originally added in [1], but the motivation provided in the comment does not seem strong enough to remove the ability to set thread-specific breakpoints. The only way to break thread specific breakpoints would be if a user set such a breakpoint and _then_ loaded an OS plugin, a scenario which we would likely not want to support. [1]: https://github.com/swiftlang/llvm-project/commit/ab745c2ad865c07f3905482fd071ef36c024713a#diff-8ec6e41b1dffa7ac4b5841aae24d66442ef7ebc62c8618f89354d84594f91050R501 --- .../plugins/python_os_plugin/TestPythonOSPlugin.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py') diff --git a/lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py b/lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py index 479c94c23154..3ad7539018d5 100644 --- a/lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py +++ b/lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py @@ -219,3 +219,12 @@ class PluginPythonOSPlugin(TestBase): 6, "Make sure we stepped from line 5 to line 6 in main.c", ) + + thread_bp_number = lldbutil.run_break_set_by_source_regexp( + self, "Set tid-specific breakpoint here", num_expected_locations=1 + ) + breakpoint = target.FindBreakpointByID(thread_bp_number) + # This breakpoint should not be hit. + breakpoint.SetThreadID(123) + process.Continue() + self.assertState(process.GetState(), lldb.eStateExited) -- cgit v1.2.3