Eo gdb: eo gdb script is now autoloaded by gdb, added eo_backtrace.
If you install the efl to a different path than the one gdb was installed to either set gdb's data dir, or just symlink the file to the other prefix. You can still use the old method of just loading the module.
This commit is contained in:
parent
32f27fee7e
commit
9ad398be60
|
@ -35,9 +35,18 @@ EXTRA_DIST += $(efreetfiles_DATA)
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Eo
|
# Eo
|
||||||
eofilesdir = $(datadir)/eo
|
eogdbdir = $(datadir)/eo/gdb
|
||||||
eofiles_DATA = eo/eo_step.py
|
eogdb_SCRIPTS = eo/eo_gdb.py
|
||||||
EXTRA_DIST += $(eofiles_DATA)
|
|
||||||
|
# Borrowed from gobject
|
||||||
|
eo/libeo-gdb.py: eo/libeo-gdb.py.in
|
||||||
|
$(AM_V_GEN) $(SED) -e "s|\@datadir\@|$(datadir)|" $(srcdir)/eo/libeo-gdb.py.in > $(builddir)/eo/libeo-gdb.py
|
||||||
|
|
||||||
|
install-data-hook: eo/libeo-gdb.py
|
||||||
|
$(MKDIR_P) $(datadir)/gdb/auto-load/$(libdir)
|
||||||
|
$(INSTALL) $(builddir)/eo/libeo-gdb.py $(datadir)/gdb/auto-load/$(libdir)/libeo.so.@VMAJ@.@VMIN@.@VMIC@-gdb.py
|
||||||
|
|
||||||
|
EXTRA_DIST += $(gdbscripts_SCRIPTS) eo/libeo-gdb.py.in
|
||||||
|
|
||||||
########################################################################
|
########################################################################
|
||||||
# Edje
|
# Edje
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
# Implement eo_break that'll break on a macro/subid/whatever.
|
||||||
|
|
||||||
|
import gdb
|
||||||
|
|
||||||
class Eo_step(gdb.Command):
|
class Eo_step(gdb.Command):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
gdb.Command.__init__(self, "eo_step", gdb.COMMAND_OBSCURE)
|
gdb.Command.__init__(self, "eo_step", gdb.COMMAND_OBSCURE)
|
||||||
|
@ -15,3 +19,17 @@ class Eo_step(gdb.Command):
|
||||||
|
|
||||||
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())
|
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())
|
||||||
Eo_step()
|
Eo_step()
|
||||||
|
|
||||||
|
# Very crude, but works for the meanwhile
|
||||||
|
class Eo_backtrace(gdb.Command):
|
||||||
|
def __init__(self):
|
||||||
|
gdb.Command.__init__(self, "eo_backtrace", gdb.COMMAND_OBSCURE)
|
||||||
|
|
||||||
|
def invoke (self, arg, from_tty):
|
||||||
|
btrace = gdb.execute("backtrace", False, to_string=True).split('\n')
|
||||||
|
|
||||||
|
for line in btrace:
|
||||||
|
if line.find("libeo.so") == -1 and line.find("src/lib/eo/") == -1:
|
||||||
|
print line
|
||||||
|
|
||||||
|
Eo_backtrace()
|
|
@ -0,0 +1,7 @@
|
||||||
|
import sys
|
||||||
|
|
||||||
|
eodir = '@datadir@/eo/gdb'
|
||||||
|
if not eodir in sys.path:
|
||||||
|
sys.path.insert(0, eodir)
|
||||||
|
|
||||||
|
import eo_gdb
|
Loading…
Reference in New Issue