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?