path: root/data/eo (follow)
AgeCommit message (Collapse)Author
2016-12-08Eo gdb: Add workaround for gdb oddities.Tom Hacohen
These workarounds are required to make sure the plugin works across gdb and python versions.
2016-12-07Eo gdb: Be more strict with types and convert Eo * to uintptr_t.Tom Hacohen
This should make the results cleaner and also solve potential conversion issues in some version combinations of gdb and python.
2016-12-07Eo gdb: Implement eo_data_get to get eo data.Tom Hacohen
Like 79d76fb25ece4ffbf5785b4be2b030f062ef9f2c, this is useful when debugging a core dump. It accepts a valid pointer to an object, for example as returned from $eo_resolve, and a name of a class or mixin, and returns a pointer to the private data. Essentially the same as efl_data_scope_get(), but also works on core dumps, and accepts a class name instead of a class pointer. Usage: Print the pointer: (gdb) print $eo_data_get($eo_resolve(obj), "Efl_Canvas_Object") $1 = (void *) 0x555555eb9290 Use it directly (e.g. to print a value): (gdb) print ((Evas_Object_Protected_Data *) $eo_data_get($eo_resolve(obj), "Efl_Canvas_Object"))->last_event_type $2 = EVAS_CALLBACK_MOUSE_UP @feature
2016-12-05Emacs configs: Move to designated repo.Tom Hacohen
2016-12-05Eo gdb: Remove redundant variable setting.Tom Hacohen
These were hardcoded values I used for debugging, they are not used anymore, they are instead calculated at runtime.
2016-11-18Eo gdb: add a way to resolve Eo ids from GDB without a running processTom Hacohen
Normally when debugging Eo with gdb you can just use any of the internal eo functions to resolve the id to its internal pointer. However, when loading a coredump you can't execute any code, not even the id resolve code. This change adds a gdb function that resolves the id to its pointer form without executing any code in the process space. This plugin is essentially the id resolve code written in python as a gdb function. Usage: Print the pointer: (gdb) print $eo_resolve(obj) $1 = (_Eo_Object *) 0x5555559bbe70 Use it directly (e.g. to print the class name): (gdb) $eo_resolve(obj)->klass-> This plugin requires that the coredump would be loaded with the exact same binary (or at least one that hasn't changed eo internals), and that the debug symbols for would be available for gdb to use. Note: This feature is incomplete and only resolves IDs that are owned by the main thread and in the main domain. This is not a big issue at the moment, because almost all of our IDs are like that. @feature
2016-11-18Eo gdb: remove old and broken gdb macro.Tom Hacohen
2016-07-29eo-mode.el: add @nonull and void_ptr.Gustavo Sverzut Barbieri
these were not in the wiki (also fixed), thus I've missed them.
2016-07-29eo-mode.el for emacs.Gustavo Sverzut Barbieri
This major mode provides colored output, that helps a lot to view and edit ".eo" and ".eot" files. It's the first version, I still see some indenting issues with toplevel blocks such as struct and enums. Nonetheless it's much more useful than fundamental-mode (pure text). fix syntax errorMike Blumenkrantz
I guess this has never ever worked. I hate everyone for making me look at python. @fix
2014-05-06Eo gdb: Removed unneeded eo_backtrace and fixed eo_step for eo2.Tom Hacohen
2013-09-26gitignore: do not track generated files.Cedric Bail
2013-05-08Revert " added eo_bt for eo_backtrace alias in an ugly way."Daniel Juyung Seo
This reverts commit 4850c53350732d0617f10bcee964df4d9b197681. You can set the alias in the .gdbinit. So my .gdbinit looks like: source /usr/local/share/eo/gdb/ alias -a eo_bt = eo_backtrace Special thanks to Alex-P. Natsios for the tip. added eo_bt for eo_backtrace alias in an ugly way.Daniel Juyung Seo
It'll be great if someone teaches how to add a alias in a python gdb script.
2013-04-16Eo gdb: Change eo_backtrace to catch more cases.Tom Hacohen
If you know where I can find decent docs about the python gdb bindings, please let me know.
2013-04-16Eo gdb: eo gdb script is now autoloaded by gdb, added eo_backtrace.Tom Hacohen
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.
2012-12-12eo_step gdb script installation to help debugging of applications byDaniel Zaoui
stepping over Eo. To do it: - Write in ~/.gdbinit "source prefix/share/eo/" (prefix is usually/opt/e17) - in gdb, when arriving to eo_function (eo_do, eo_do_super), execute eo_step. This script will step into the code until it reaches a function that doesn't belong to libeo. Because of a bug in gdb that will be fixed in 7.6, if after having used the script once, you rerun your application and reexecute the script, a segmentation fault can occur. Sorry for the inconvenience. Signed-off-by: Daniel Zaoui <> SVN revision: 80760