Hello All,

Well, well, I haven't been able to resist my impulses, and all this ended up with an alpha release of *cdepend*.

We've all been there, reading a C source file, which is one out of 50 in some project, trying to understand what the function does, who calls it, where to find the functions it calls and if it's related to the bug we're looking for.

And sometimes, after hacking heavily, one wonders if there aren't a few functions in the code, which could simply be eliminated. Those functions that were used by those functions that were taken away a long time ago. How do you catch them?

So I wrote a little utility, which scans through a project, and maps which function calls which. It generates reports that tell you in which file and line number each function is declared, who calls it, and who it calls.

This includes library functions. Ever wanted to know how a project depends on built-in libraries? You get that info as well with cdepend.

No, cdepend doesn't parse the C code. gcc does that much better than I'll ever be able to. Which is why cdepend reads assembly code which is generated by gcc, spiced up with plenty of debug info. Yes, you have to compile all sources with a couple of extra flags before running cdepend. Yes, it's worth the effort.

The true drawback of cdepend is that it heavily depends on gcc, ldd and nm. Which means that it isn't very portable. But on a recent i386-Linux distro, you should be able to install and run it with no problem.

If you want to try it out: http://www.billauer.co.il/cdepend.html

Comments are as usual welcomed.

Regards,
  Eli

--
Web: http://www.billauer.co.il



--------------------------------------------------------------------------
Haifa Linux Club Mailing List (http://www.haifux.org)
To unsub send an empty message to [EMAIL PROTECTED]




Reply via email to