89 base_iterator = frame_iterator(gdb.newest_frame(), 0, -1)
96 num = len(_all_frames)
97 _all_frames.append(frame)
100 def yield_frames(iterator, for_elided):
101 for frame
in iterator:
105 yield (get_id(frame), for_elided, frame)
107 elided = frame.elided()
108 if elided
is not None:
109 yield from yield_frames(frame.elided(),
True)
111 yield from yield_frames(base_iterator,
False)
129 """A generator that yields identifiers and frames.
131 Each element is a pair of the form (ID, FRAME).
132 ID is the internally-assigned frame ID.
133 FRAME is a FrameDecorator of some kind.
135 Arguments are as to the stackTrace request."""
140 base_iterator = itertools.filterfalse(
lambda item: item[1], base_iterator)
146 frame_high = frame_low + levels
147 base_iterator = itertools.islice(base_iterator, frame_low, frame_high)
149 for ident, _, frame
in base_iterator: