@Rodney:
Developers usually create two versions of any program: the "debug" version and the "release" version. Both normally share the same source files. The debug version normally has all sorts extra optional bits (in C, this is done with the "assert" macro) that programmers use to verify the flow of data in a program, that do not get compiled into the release version. Also, compiler optimizations are normally disabled in the debug version, since this causes the compile cycle to go a bit faster. Once the programmer is happy, he will produce a release version of the executable, and that's what ends up on aminet :-) So any debugging information will typically be only in the debug version. To put it technically: you will normally invoke the compiler with the "-g3 -D_DEBUG" switches for the debug version and "-O3" for the release version.
However, gdb is a very smart program, and can show you some useful information even on a release version of the program. You just get a lot more info on a debug version.