summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/Makefile.am5
-rw-r--r--data/eo/eo_step.py17
2 files changed, 21 insertions, 1 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
index e3dc4c262c..f2d475397a 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -6,4 +6,7 @@ embryofiles_DATA = embryo/default.inc
6evasfilesdir = $(datadir)/evas 6evasfilesdir = $(datadir)/evas
7evasfiles_DATA = evas/checkme 7evasfiles_DATA = evas/checkme
8 8
9EXTRA_DIST = embryo/default.inc evas/checkme 9eofilesdir = $(datadir)/eo
10eofiles_DATA = eo/eo_step.py
11
12EXTRA_DIST = embryo/default.inc evas/checkme eo/eo_step.py
diff --git a/data/eo/eo_step.py b/data/eo/eo_step.py
new file mode 100644
index 0000000000..54dd998648
--- /dev/null
+++ b/data/eo/eo_step.py
@@ -0,0 +1,17 @@
1class Eo_step(gdb.Command):
2 def __init__(self):
3 gdb.Command.__init__(self, "eo_step", gdb.COMMAND_OBSCURE)
4
5 def invoke (self, arg, from_tty):
6 # While libeo is not reached, we step into
7 while gdb.solib_name(gdb.selected_frame().pc()).find("libeo.so") == -1:
8 # step by one assembly instruction, no print
9 gdb.execute("stepi", False, to_string=True)
10
11 # While we are in libeo or in an unknown function, we step into
12 while (gdb.selected_frame().function() == None) or (gdb.solib_name(gdb.selected_frame().pc()).find("libeo.so") != -1):
13 # step by one assembly instruction, no print
14 gdb.execute("stepi", False, to_string=True)
15
16 print "Stopped at file " + gdb.selected_frame().find_sal().symtab.filename+ " line " + str(gdb.selected_frame().find_sal().line) + " function " + str(gdb.selected_frame().function())
17Eo_step()