Just for fun I did
ctags *.c
in the directory where I have the Container library code.
I obtained:
Duplicate entry in files dlist.c and bitstrings.c: Contains (Warning only)
Duplicate entry in file dlist.c, line 206: DestroyListElements
Second entry ignored
Both functions are declared static but "ctags" doesn't understand
"static" of course.
It doesn't understand #defines correctly either, and you can't tell it
what defines are active or not.
It doesn't understand the syntax of what is parsingat all. That is
why it can parse Fortran and C and Pascal...
This type of primitive "utility" is what people like you love.
ANYTHING if it is:
o text mode,
o Unix
and (of course) gnuish.
I don't use ctags myself, I have used it on other code bases but
mostly I just grep the damn ctags archive to find what I need.
Usually I just grep the source tree [or header files] for symbols I
need to find the origins of.
Sure.
(1) No automatic display of variables getting used.
You can watch variables, you just have to know what you're debugging.
You can step through code, one line at a time.
(2) ddd doesn't even support all gdb commands (set next line for instance)
(3) It has some funny features... for instance the continuous
stream of errors displayed in the console when it starts.
Maybe your build is fudged? Mine will tell me about any threads or
whatever that are preloaded before execution but that's about it.
This is what I get on my ubuntu 9.04 laptop [in 32-bit mode]
---
tom@tom-laptop:~$ gcc -g3 test.c -o test
tom@tom-laptop:~$ gdb test
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <
http://gnu.org/licenses/
gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb)
---
Where test.c is a simple hello-world app. Wow, lots of errors. I use
gdb all the time to debug things and it hasn't failed me yet.
Sure. Why do automatically something that can be done by hand?
Because I tend to write makefiles that have a lot of options and/or
smarts to them. I'm just saying that on a day-to-day basis adding new
files is not that hard [once you have the framework up]. It's not
something I need a tool [other than an editor] to help me with.
Yeah dude, windows is a product of the evil empire.
And lcc-win since it runs under windows is also very
suspect.
what a mentality!
No, but look who's talking about getting with the times. Even the
Apple crowd got on the POSIX bandwagon. Microsoft chugs along merrily
like nothing is happening. Meanwhile in a stock Microsoft OS you're
stuck with no shell, no userland tools, no development tools,
nothing. Even when you shell out the $600 [or whatever the heck it is
this week] for a licensed copy of VS C++ you still don't get any
command line tools [like bash/sed/grep/make/etc] that make development
easier [scripting is infinitely better than a menu or two], instead
you get a development studio that takes up 8GB of disk space and is
shit slow to load/work with. On my Ubuntu laptop a FULL install that
includes OS, office suite, multimedia suite, development tools, IM/www/
etc takes less than a couple GB of space. I get all my work done with
these tools too.
If you want to talk about getting this this era, I'd start looking at
Windows and what you DON'T get.