This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB does not recognize cxx extension?
On Sun, Sep 29, 2019 at 1:48 AM Jeffrey Walton <noloader@gmail.com> wrote:
>
> On Sun, Sep 29, 2019 at 1:51 AM Christian Biesinger
> <cbiesinger@google.com> wrote:
> >
> > On Sun, Sep 29, 2019 at 12:17 AM Jeffrey Walton <noloader@gmail.com> wrote:
> > >
> > > On Sun, Sep 29, 2019 at 1:09 AM Christian Biesinger
> > > <cbiesinger@google.com> wrote:
> > > >
> > > > On Sun, Sep 29, 2019 at 12:01 AM Jeffrey Walton <noloader@gmail.com> wrote:
> > > > > I've got a C++ program built from a source called pem_test.cxx. I'm
> > > > > having trouble getting GDB to accept it. Autocomplete does not work:
> > > > >
> > > > > (gdb) b pem_<TAB>
> > > > > pem_common.cpp pem_common.h pem_read.cpp pem_write.cpp
> > > >
> > > > GDB gets the list of files from the debug data in the binary, not from
> > > > the current directory. Are you sure you compiled pem_test.cxx into the
> > > > binary?
> > >
> > > Yes. A 'b main' stops in pem_test.cxx.
> > >
> > > The recipe to build pem_test.cxx is at
> > > https://github.com/noloader/cryptopp-pem/blob/master/pem_create_keys.sh#L42
> >
> > So, GDB does know that cxx is an extension for C++:
> > https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/c-lang.c;h=57592dfbce0f8822fa3ca3d68ed520b4124a0c5d;hb=612aac65e690387c963c34a31dd1fb138d88a45c#l1032
> >
> > And .cxx does work for me:
> > Reading symbols from ./test...
> > (gdb) break test.cxx:2
> > Breakpoint 1 at 0x1129: file test.cxx, line 2.
> > (gdb) r
> > Starting program: /tmp/test
> >
> > Breakpoint 1, main () at test.cxx:2
> > 2 return 42;
> > (gdb) b test<TAB>
> > std::__atomic0::atomic_flag::test_and_set(std::memory_order) test.cxx
> >
> > There must be something odd about your build setup, but I don't know
> > what it is. For testing purposes, if you build the cxx as part of your
> > static library, does it work?
>
> Ack, thanks. Let me try to sort it out on my end.
>
> Out of curiosity, are you using Ubuntu, Fedora or something else?
I'm using Debian. GCC 8.3.0 and GDB built from git as well as 8.2.1 (both work).
Christian