1 # Copyright (C) 2011-2015 Free Software Foundation, Inc.
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.
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.
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/>.
16 # This file is part of the GDB testsuite. It tests python Finish
19 class MyFinishBreakpoint (gdb
.FinishBreakpoint
):
20 def __init__(self
, val
, frame
):
21 gdb
.FinishBreakpoint
.__init
__ (self
, frame
)
22 print ("MyFinishBreakpoint init")
26 print ("MyFinishBreakpoint stop with %d" % int (self
.val
.dereference ()))
27 print ("return_value is: %d" % int (self
.return_value
))
28 gdb
.execute ("where 1")
31 def out_of_scope(self
):
32 print ("MyFinishBreakpoint out of scope")
34 class TestBreakpoint(gdb
.Breakpoint
):
36 gdb
.Breakpoint
.__init
__ (self
, spec
="test_1", internal
=1)
39 print ("TestBreakpoint init")
44 TestFinishBreakpoint (gdb
.newest_frame (), self
.count
)
45 except ValueError as e
:
49 class TestFinishBreakpoint (gdb
.FinishBreakpoint
):
50 def __init__ (self
, frame
, count
):
52 gdb
.FinishBreakpoint
.__init
__ (self
, frame
, internal
=1)
56 print ("-->", self
.number
)
58 print ("test stop: %d" % self
.count
)
61 print ("test don't stop: %d" % self
.count
)
65 def out_of_scope(self
):
66 print ("test didn't finish: %d" % self
.count
)
68 class TestExplicitBreakpoint(gdb
.Breakpoint
):
71 SimpleFinishBreakpoint (gdb
.newest_frame ())
72 except ValueError as e
:
76 class SimpleFinishBreakpoint(gdb
.FinishBreakpoint
):
77 def __init__(self
, frame
):
78 gdb
.FinishBreakpoint
.__init
__ (self
, frame
)
80 print ("SimpleFinishBreakpoint init")
83 print ("SimpleFinishBreakpoint stop" )
86 def out_of_scope(self
):
87 print ("SimpleFinishBreakpoint out of scope")
89 print ("Python script imported")
This page took 0.032436 seconds and 4 git commands to generate.