Re: GDB does not recognize cxx extension?
Jeffrey Walton <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAH8yC8nz-Jwq8vMR6Nk-evOAz3234_7Esd17k4vBL8YRwTYiRg@mail.gmail.com> |
On Sun, Sep 29, 2019 at 1:51 AM Christian Biesinger <[email protected]> wrote: > > On Sun, Sep 29, 2019 at 12:17 AM Jeffrey Walton <[email protected]> wrote: > > > > On Sun, Sep 29, 2019 at 1:09 AM Christian Biesinger > > <[email protected]> wrote: > > > > > > On Sun, Sep 29, 2019 at 12:01 AM Jeffrey Walton <[email protected]> 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? Jeff