Compile Eo in release mode: remove -O0/-g from your CFLAGS, re-configure Eo (efl tree I assume) with --with-profile=release (or something like that, just check the configure options, it's easy) and make && make install. You can potentially just strip the binary, doesn't matter really...
On Wed, Dec 5, 2012 at 3:52 PM, daniel.za...@samsung.com < daniel.za...@samsung.com> wrote: > Tom, the 'sudo strip -g libeo.so' on my computer prevents me to see info > about this library in gdb, as explained before. How can I compile Eo in > release mode? > > Gustavo, this could be very useful. We need to check if it really can be > done and if it is easy for the user. Is the eo_do_step supposed to > execute the functions too? How does it wait for commands (your last > line), I mean, is it inside the eo_do_step function? > Eo uses va_list to store the parameters and we need to be careful with > that. > > On 12/05/2012 05:11 PM, Tom Hacohen wrote: > > Gustavo, > > > > Your suggestion is good (I already told you that in the past, I think), > but > > I believe it's unrelated to what we are trying to achieve here. What I > want > > is an easy way to step into an eo_do function, just like we would have > done > > with any other function. > > > > What I really want to see is just "run until you exit the libeo.so binary > > and get back to a user function"... > > > > > > On Wed, Dec 5, 2012 at 3:05 PM, Gustavo Sverzut Barbieri < > > barbi...@profusion.mobi> wrote: > > > >> Let me jump in, proposing here what I already proposed earlier at IRC > >> and in person during LinuxCon-EU: > >> > >> we should use the same debug helper way as gcc does for itself. > >> > >> GCC is built on top of an union of every possible AST node. So > >> functions, variables, loops... are all into the same type/union, > >> making it dozen pages of gdb output to get every possible field and > >> combination if you "p *node" > >> > >> To solve this they ship some functions in their own code, that you > >> can use to debug its own code. Similar to "p gcc_node_print(node)" (I > >> don't recall the exact name), and another to navigate the tree. > >> > >> Then I propose we create a "eo_do_step(obj, va_list ap)" that we can: > >> "(gdb) p eo_do_step(obj, ap)" from our debug session. It would > >> replicate the dispatch logic from eo_do(), but before executing each > >> call it would print out the call and parameters. We can use Eo > >> introspection to try to help user by showing the function name, > >> description and parameter types. > >> > >> Suppose doing: eo_do(evas_obj, evas_obj_position_set(10, 20), > >> evas_obj_size_set(300, 400)); > >> you break point in eo_do and call: > >> > >> (gdb) p eo_do_step(obj, ap) > >> Operating on: obj=0xaabbcc00 (Evas_Object_Rectangle) > >> Function: evas_obj_position_set(int x, int y) "Set the position of an > >> evas object." > >> calling: evas_obj_position_set(x=10, y=20) > >> (eo_do_step) <--- waits for commands such as continue, step... > >> > >> > >> > >> > >> On Wed, Dec 5, 2012 at 12:46 PM, daniel.za...@samsung.com > >> <daniel.za...@samsung.com> wrote: > >>> Hi all, > >>> > >>> I don't need to reply, but to thank you and give you respect, I feel > >>> that I must reply ;-) When I strip Eo library, I cannot in gcc step > into > >>> at all, I mean, I can't reach the final destination. It is like the > >>> 'skip' feature of gdb. So for the moment, I am stuck with that filename > >>> and need to find a solution. > >>> > >>> Second point, as I wrote before, there is a bug in gdb when executing > >>> python scripts (link below). It will be fixed in gdb 7.6 that is > >>> officially supposed to be delivered in mid-february 2013 but as a gdb > >>> maintainer said "In the past few releases, we have typically been late > >>> by a few weeks.", I think we will have to wait a little more. > >>> > >>> Hopefully, when I will have time, I will insert this script into SVN > and > >>> the installation will put it automatically into the /opt/e17 directory > >>> (or different). The question here is if we have a common directory for > >>> all this nice weird stuff or if it will be a new directory. > >>> > >>> JackDanielZ > >>> > >>> On 12/05/2012 04:24 PM, Tom Hacohen wrote: > >>>> Cool. And we already talked a bit more on IRC about the usage of the > >> binary > >>>> name vs. the source file name, so I'm happy, no need for your reply > >> here. > >>>> On 5 Dec 2012 05:16, "daniel.za...@samsung.com" < > >> daniel.za...@samsung.com> > >>>> wrote: > >>>> > >>>>> Hey Tom, > >>>>> > >>>>> I saw your mail, I just wanted to explain SeoZ how to do now until I > >> put > >>>>> it there automatically. I will change the name to eo_step. > >>>>> I know this site, I don't know yet which way to use to configure gdb. > >>>>> For the moment, I create manually a .gdbinit in my home directory and > >>>>> there source the python script. > >>>>> Well, I can put the script in src/utils/Eo and then install it into > >>>>> /opt/e17/share/eo/utils or something like that. But I think the user > >>>>> will have to configure manually gdb, i.e add 'source > >>>>> /opt/e17/.../eo_step.py' into ~/.gdbinit. > >>>>> Just for info, there is some bug into gdb that makes it crash with > the > >>>>> script in a specific scenario. I opened a ticket > >>>>> <http://sourceware.org/bugzilla/show_bug.cgi?id=14916> there and > hope > >> it > >>>>> will help. > >>>>> > >>>>> Daniel > >>>>> > >>>>> > >>>>> On 12/05/2012 01:29 AM, Tom Hacohen wrote: > >>>>>> Daniel, > >>>>>> > >>>>>> It should be installed (as I've said before) see > >>>>>> http://sourceware.org/gdb/onlinedocs/gdb/Python.html for more info. > >>>>>> Then it'll be just a matter of loading the script and using it (or > >>>>> possibly > >>>>>> it'll get loaded automatically). Also, as I said, I think eo_jump > is a > >>>>>> terrible name and it should be changed to eo_step. > >>>>>> > >>>>>> Actually, reading back the thread, you didn't comment on any of my > >>>>> messages. > >>>>>> On Tue, Dec 4, 2012 at 12:13 PM, daniel.za...@samsung.com < > >>>>>> daniel.za...@samsung.com> wrote: > >>>>>> > >>>>>>> You open gdb and you paste the function (from python to end) there. > >>>>>>> After, when you encounter a eo_do function, instead of stepping > into > >> it, > >>>>>>> you call the function (just type eo_jump) and it will do the job > >> alone > >>>>>>> and reach the function that you wanted. > >>>>>>> > >>>>>>> On 12/04/2012 10:54 AM, Daniel Juyung Seo wrote: > >>>>>>>> Awesome!!!! > >>>>>>>> I and co-workers have hard time to debug with eo. > >>>>>>>> This looks very good but how can I use it? > >>>>>>>> > >>>>>>>> Daniel Juyung Seo (SeoZ) > >>>>>>>> > >>>>>>>> On Tue, Dec 4, 2012 at 5:15 PM, daniel.za...@samsung.com < > >>>>>>>> daniel.za...@samsung.com> wrote: > >>>>>>>> > >>>>>>>>> Hi all, > >>>>>>>>> > >>>>>>>>> I am sure you faced difficulties to debug your program due to > >> changes > >>>>>>>>> with Eo. It is hard to know which function will be called by > eo_do > >> or > >>>>>>>>> eo_do_super because of inheritance. > >>>>>>>>> > >>>>>>>>> I have written a python function for gdb that helps a lot. The > >> command > >>>>>>>>> is eo_jump, no arguments. > >>>>>>>>> You can execute it when you reach some eo_do/eo_do_super... and > it > >>>>> will > >>>>>>>>> jump over Eo code. > >>>>>>>>> > >>>>>>>>> This is a prototype so sorry for the potential bugs. > >>>>>>>>> > >>>>>>>>> For those who will look at this function, you can note some check > >> that > >>>>>>>>> the function is None, it is because Eo calls for memcpy. In this > >> case, > >>>>>>>>> we want it to not stop on this so we have to continue searching. > >>>>>>>>> > >>>>>>>>> Feel free to change, propose, hate this script :) > >>>>>>>>> > >>>>>>>>> Daniel (JackDanielZ) > >>>>>>>>> > >>>>>>>>> Function: > >>>>>>>>> python > >>>>>>>>> class Eo_jump(gdb.Command): > >>>>>>>>> def __init__(self): > >>>>>>>>> gdb.Command.__init__(self, "eo_jump", > >> gdb.COMMAND_OBSCURE) > >>>>>>>>> def invoke (self, arg, from_tty): > >>>>>>>>> while True: > >>>>>>>>> gdb.execute("step") > >>>>>>>>> self.priv_filename = > >>>>>>>>> gdb.selected_frame().find_sal().symtab.filename > >>>>>>>>> self.priv_function = > gdb.selected_frame().function() > >>>>>>>>> if (self.priv_filename != "lib/eo/eo.c") and > >>>>>>>>> (self.priv_function != None): > >>>>>>>>> break > >>>>>>>>> if (self.priv_filename == "lib/eo/eo.c"): > >>>>>>>>> gdb.execute("step") > >>>>>>>>> if (self.priv_function == None): > >>>>>>>>> gdb.execute("finish") > >>>>>>>>> Eo_jump() > >>>>>>>>> end > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >> > ------------------------------------------------------------------------------ > >>>>>>>>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free > Trial > >>>>>>>>> Remotely access PCs and mobile devices and provide instant > support > >>>>>>>>> Improve your efficiency, and focus on delivering more value-add > >>>>> services > >>>>>>>>> Discover what IT Professionals Know. Rescue delivers > >>>>>>>>> http://p.sf.net/sfu/logmein_12329d2d > >>>>>>>>> _______________________________________________ > >>>>>>>>> enlightenment-devel mailing list > >>>>>>>>> enlightenment-devel@lists.sourceforge.net > >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >>>>>>>>> > >> > ------------------------------------------------------------------------------ > >>>>>>>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free > Trial > >>>>>>>> Remotely access PCs and mobile devices and provide instant support > >>>>>>>> Improve your efficiency, and focus on delivering more value-add > >>>>> services > >>>>>>>> Discover what IT Professionals Know. Rescue delivers > >>>>>>>> http://p.sf.net/sfu/logmein_12329d2d > >>>>>>>> _______________________________________________ > >>>>>>>> enlightenment-devel mailing list > >>>>>>>> enlightenment-devel@lists.sourceforge.net > >>>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >>>>>>>> > >>>>>>> > >> > ------------------------------------------------------------------------------ > >>>>>>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > >>>>>>> Remotely access PCs and mobile devices and provide instant support > >>>>>>> Improve your efficiency, and focus on delivering more value-add > >> services > >>>>>>> Discover what IT Professionals Know. Rescue delivers > >>>>>>> http://p.sf.net/sfu/logmein_12329d2d > >>>>>>> _______________________________________________ > >>>>>>> enlightenment-devel mailing list > >>>>>>> enlightenment-devel@lists.sourceforge.net > >>>>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >>>>>>> > >>>>> > >> > ------------------------------------------------------------------------------ > >>>>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > >>>>> Remotely access PCs and mobile devices and provide instant support > >>>>> Improve your efficiency, and focus on delivering more value-add > >> services > >>>>> Discover what IT Professionals Know. Rescue delivers > >>>>> http://p.sf.net/sfu/logmein_12329d2d > >>>>> _______________________________________________ > >>>>> enlightenment-devel mailing list > >>>>> enlightenment-devel@lists.sourceforge.net > >>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >>>>> > >> > ------------------------------------------------------------------------------ > >>>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > >>>> Remotely access PCs and mobile devices and provide instant support > >>>> Improve your efficiency, and focus on delivering more value-add > services > >>>> Discover what IT Professionals Know. Rescue delivers > >>>> http://p.sf.net/sfu/logmein_12329d2d > >>>> _______________________________________________ > >>>> enlightenment-devel mailing list > >>>> enlightenment-devel@lists.sourceforge.net > >>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >>>> > >>> > >>> > >> > ------------------------------------------------------------------------------ > >>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > >>> Remotely access PCs and mobile devices and provide instant support > >>> Improve your efficiency, and focus on delivering more value-add > services > >>> Discover what IT Professionals Know. Rescue delivers > >>> http://p.sf.net/sfu/logmein_12329d2d > >>> _______________________________________________ > >>> enlightenment-devel mailing list > >>> enlightenment-devel@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >> > >> > >> -- > >> Gustavo Sverzut Barbieri > >> http://profusion.mobi embedded systems > >> -------------------------------------- > >> MSN: barbi...@gmail.com > >> Skype: gsbarbieri > >> Mobile: +55 (19) 9225-2202 > >> > >> > >> > ------------------------------------------------------------------------------ > >> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > >> Remotely access PCs and mobile devices and provide instant support > >> Improve your efficiency, and focus on delivering more value-add services > >> Discover what IT Professionals Know. Rescue delivers > >> http://p.sf.net/sfu/logmein_12329d2d > >> _______________________________________________ > >> enlightenment-devel mailing list > >> enlightenment-devel@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >> > > > > > > > > ------------------------------------------------------------------------------ > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial > Remotely access PCs and mobile devices and provide instant support > Improve your efficiency, and focus on delivering more value-add services > Discover what IT Professionals Know. Rescue delivers > http://p.sf.net/sfu/logmein_12329d2d > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Tom. ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel