Re: Dia internals



On Sat, 22 Mar 2003, Russell Shaw wrote:
Hi,
I'm trying to see how dia works using gdb/ddd to learn something
about graphics programming and object-oriented techniques in C.

I compiled it with CFLAGS=-ggdb and can step thru the
source code with ddd.

How do i get dia into synchronous mode when using ddd?
Where is the call-back function for the File|New menu
so that i can set a breakpoint there?
I'm using debian-2.4.20 and gvim.

If you use ctags, you can easily find your way from the app/menus.c uses of
the call-backs to the actual functions.  Most are in app/commands.c or
app/disp_callbacks.c.

Note that since the plug-ins (a goodly chunk of the code) is dynamically
linked, you can't set breakpoints for those parts before they're loaded.
There's a dummy function call (which is no longer optimized away) called
debug_break() that will let you break after all plug-ins are loaded.

-Lars

-- 
Lars Clausen (http://shasta.cs.uiuc.edu/~lrclause)| HÃrdgrim of Numenor
"I do not agree with a word that you say, but I   |----------------------------
will defend to the death your right to say it."   | Where are we going, and
    --Evelyn Beatrice Hall paraphrasing Voltaire  | what's with the handbasket?



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]