GDB (xrefs)
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
data-directory
python
gdb
FrameIterator.py
Go to the documentation of this file.
1
# Copyright (C) 2013-2015 Free Software Foundation, Inc.
2
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 3 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16
import
gdb
17
import
itertools
18
19
class
FrameIterator
(object):
20
"""A gdb.Frame iterator. Iterates over gdb.Frames or objects that
21
conform to that interface."""
22
23
def
__init__
(self, frame_obj):
24
"""Initialize a FrameIterator.
25
26
Arguments:
27
frame_obj the starting frame."""
28
29
super(FrameIterator, self).
__init__
()
30
self.
frame
= frame_obj
31
32
def
__iter__
(self):
33
return
self
34
35
def
next
(self):
36
"""next implementation.
37
38
Returns:
39
The next oldest frame."""
40
41
result = self.
frame
42
if
result
is
None
:
43
raise
StopIteration
44
self.
frame
= result.older()
45
return
result
46
47
# Python 3.x requires __next__(self) while Python 2.x requires
48
# next(self). Define next(self), and for Python 3.x create this
49
# wrapper.
50
def
__next__
(self):
51
return
self.
next
()
gdb.FrameIterator.FrameIterator
Definition:
FrameIterator.py:19
gdb.FrameIterator.FrameIterator.next
def next(self)
Definition:
FrameIterator.py:35
gdb.FrameIterator.FrameIterator.__iter__
def __iter__(self)
Definition:
FrameIterator.py:32
gdb.FrameIterator.FrameIterator.__next__
def __next__(self)
Definition:
FrameIterator.py:50
gdb.FrameIterator.FrameIterator.frame
frame
Definition:
FrameIterator.py:30
gdb.FrameIterator.FrameIterator.__init__
def __init__(self, frame_obj)
Definition:
FrameIterator.py:23
Generated by
1.8.10