[Lldb-commits] [lldb] 62deee4 - [LLDB] Add a child property to compliment the existing parent property (#168619)
via lldb-commits
lldb-commits at lists.llvm.org
Thu Nov 20 10:05:24 PST 2025
Author: Jacob Lalonde
Date: 2025-11-20T18:05:19Z
New Revision: 62deee41592d7522d7fc3c3686d657bc36d80638
URL: https://github.com/llvm/llvm-project/commit/62deee41592d7522d7fc3c3686d657bc36d80638
DIFF: https://github.com/llvm/llvm-project/commit/62deee41592d7522d7fc3c3686d657bc36d80638.diff
LOG: [LLDB] Add a child property to compliment the existing parent property (#168619)
I've been working on some scripts that evaluate the parent and child
frame. It's been very annoying that the parent frame has a property but
not the child. So I've added this to the extensions, I would've
preferred to return None, but because the existing impl returns an
invalid SBFrame, so I'm conforming to that API.
```
(lldb) script
Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D.
>>> lldb.frame
frame #0: 0x0000555555555200 fib.out`main
>>> lldb.frame.parent
frame #1: 0x00007ffff782a610 libc.so.6`__libc_start_call_main + 128
>>> lldb.frame.parent.child
frame #0: 0x0000555555555200 fib.out`main
```
Added:
Modified:
lldb/bindings/interface/SBFrameExtensions.i
Removed:
################################################################################
diff --git a/lldb/bindings/interface/SBFrameExtensions.i b/lldb/bindings/interface/SBFrameExtensions.i
index 38d03abaee8f0..0c79b98b290f2 100644
--- a/lldb/bindings/interface/SBFrameExtensions.i
+++ b/lldb/bindings/interface/SBFrameExtensions.i
@@ -24,6 +24,13 @@ STRING_EXTENSION_OUTSIDE(SBFrame)
else:
return SBFrame()
+ def get_child_frame(self):
+ child_idx = self.idx - 1
+ if child_idx >= 0:
+ return self.thread.frame[child_idx]
+ else:
+ return SBFrame()
+
def get_arguments(self):
return self.GetVariables(True,False,False,False)
@@ -92,6 +99,7 @@ STRING_EXTENSION_OUTSIDE(SBFrame)
register = property(get_registers_access, None, doc='''A read only property that returns an helper object providing a flattened indexable view of the CPU registers for this stack frame.''')
reg = property(get_registers_access, None, doc='''A read only property that returns an helper object providing a flattened indexable view of the CPU registers for this stack frame''')
parent = property(get_parent_frame, None, doc='''A read only property that returns the parent (caller) frame of the current frame.''')
+ child = property(get_child_frame, None, doc='''A read only property that returns the child (callee) frame of the current frame.''')
%}
#endif
}
More information about the lldb-commits
mailing list