[Lldb-commits] [lldb] Add the ability to provide a scripted "step through" plan. (PR #218812)
Med Ismail Bennani via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 26 09:46:45 PDT 2026
================
@@ -5,6 +5,32 @@ on ABI, arguments or other special properties of that frame, even without
source code or debug info. Currently, one use case is to extract function
arguments that would otherwise be inaccessible, or augment existing arguments.
+Frame recognizers also allow you to implement "trampoline handlers". lldb
+has built-in trampoline handlers, for instance, to go from a shared library
+stub to its target, from the dispatch of an objc message send to its target,
+etc, or from std::function to its target. They work by recognizing the
+start point of the stub, and providing a "step through" Thread Plan that drives
+the thread to the trampoline target.
+
+Frame recognizers already do the "identify the target" part. To provide the
+step through, have your frame recogizer implement the `get_step_through_plan`
+method:
+
+```
+def get_step_through_plan(self, thread : lldb.SBThread):
+```
+
+It should return a Python dictionary with two keys:
+
+```
+class_name : the name of the class implementing the step through thread plan
+extra_args : a dictionary with the keys that will be passed to the __init__
+ of your scripted thread plan.
+```
----------------
medismailben wrote:
Makes sense
https://github.com/llvm/llvm-project/pull/218812
More information about the lldb-commits
mailing list