gdb has problems finding my sources

Tarjei Knapstad
2004-01-21T14:09:33Z

I've got a C++ test suite project that includes headers from and links
with static libraries from another project which resides in a different
directory tree (also pure C++). I'm using the current Fedora Core 2
snapshot of gdb (gdb-6.0post-0.20031117.7 from 08-01-2004), but I've got
the same problems with either 5.2 or 5.3.

When debugging this testsuite gdb apparently has problems when I try to
step into (template) functions contained in certain header files. The
headers in question contain only template code which is used and linked
into the testsuite application. gdb just gives me "xxx yyy.h: File or
directory not found" where xxx is a line number and yyy.h is the header
file in question.

If I add the source directory for yyy.h explicitly from gdb using the
'dir' command it works, but I don't understand why I should have to do
that - it works perfectly with for instance the Boost and STL headers.
The other problems with adding the searchpath explicitly is that I'm
using gdb from within KDevelop where I don't have access to the gdb
commandline, as well as the fact that it's a great nusiance to have to
add the dirs (there are potentially lots) each time I run the debugger.

I've reproduced this exact same behaviour using gdb from the commandline
so I don't think it's KDevelop's fault.

Is there anyone who could provide me with any pointers wrt. how I can
possibly fix this? Any help getting this sorted would be much
appreciated.

Thanks in advance,