GDB does not recognize cxx extension?
Christian Biesinger via gdb
gdb@sourceware.org
Sun Sep 29 15:48:00 GMT 2019
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
More information about the Gdb
mailing list