From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7469 invoked by alias); 21 Jan 2004 16:53:12 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 7439 invoked from network); 21 Jan 2004 16:53:10 -0000 Received: from unknown (HELO mainserv.chemcon.no) (193.75.7.58) by sources.redhat.com with SMTP; 21 Jan 2004 16:53:10 -0000 Received: from cc-intern01 (cc-intern01.chemcon.nett [192.168.1.2]) by mainserv.chemcon.no (8.12.8/8.12.8) with ESMTP id i0LGrA6H011462 for ; Wed, 21 Jan 2004 17:53:10 +0100 Subject: Re: gdb has problems finding my sources (now with testcase) From: Tarjei Knapstad To: gdb In-Reply-To: <20040121151232.GA1013@nevyn.them.org> References: <1074694168.24023.73.camel@cc-intern01> <20040121151232.GA1013@nevyn.them.org> Content-Type: text/plain Content-Transfer-Encoding: 7bit Date: Wed, 21 Jan 2004 16:53:00 -0000 Message-Id: <1074703990.24026.109.camel@cc-intern01> Mime-Version: 1.0 X-SW-Source: 2004-01/txt/msg00238.txt.bz2 On Wed, 2004-01-21 at 16:12, Daniel Jacobowitz wrote: > On Wed, Jan 21, 2004 at 03:09:13PM +0100, Tarjei Knapstad wrote: > > 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. > > If you can provide a small testcase for the problem, we can investigate > some more. I'm not sure from your description what could be broken. > OK, I have just created a tiny KDevelop project, autoconf and all, which reproduces the problem exactly. The roughly 360kB tarball can be downloaded from: http://www.chemcon.no/files/gdbtest.tar.bz2 I made a KDevelop project to reproduce all compiler arguments etc. exactly - sorry about the size. Run configure in the gdbtest-0.1/ subdirectory with these arguments: ./configure --with-extra-includes=../../../ --enable-debug=full and then just run make. Load up the resulting executable in gdb and issue b Test2.cpp:9 When the execution breaks and I issue a step command ('s') I get the following: Starting program: /home/tarjeik/temp/gdbtest-0.1/gdbtest/gdbtest Breakpoint 1, Test2::f() (this=0xbffff3c7) at Test2.cpp:9 9 t.f(); // Set breakpoint here (gdb) s Test::f() (this=0xbffff3a7) at Test.h:9 9 Test.h: No such file or directory. in Test.h Here's the compiler etc. I use: gcc-3.3.2-1 binutils-2.14.90.0.6-3 gdb-6.0post-0.20031117.7 I hope this helps somewhat - if not let me know if there's anything else I can provide to track this down. Cheers, -- Tarjei Knapstad