Note that gdb cannot inspect containers. It doesn't know anything about them.

Qt Creator uses "debugging helpers" for that. See:

  https://qt-project.org/doc/qtcreator-2.8/creator-debugging-helpers.html

Since you're using a deprecated version of Creator (2.8 is from 2013 and not maintained anymore), those helpers are probably not updated for new gdb versions.

If you don't want to upgrade Creator through portage, you could instead use the binary Qt Creator installer, and simply install it in your home directory (I did that in the past, before Qt5 was put in ~arch.)


On 24/03/15 22:43, Francisco Ares wrote:
Thank you all for those clues, pretty interesting.

For now I suppose it is a gdb thing, as QtCreator is able to show
details about STL containers as expected.

Going to fiddle in gdb a bit more...


2015-03-24 17:07 GMT-03:00 Fernando Rodriguez
<frodriguez.develo...@outlook.com
<mailto:frodriguez.develo...@outlook.com>>:

    On Tuesday, March 24, 2015 9:32:07 PM Nikos Chantziaras wrote:
     > On 24/03/15 21:12, Fernando Rodriguez wrote:
     > > On Tuesday, March 24, 2015 10:07:56 AM Francisco Ares wrote:
     > >> Hi,
     > >>
     > >> Recently - but can't figure out exactly when - Qt Creator has
    become
    unable
     > >> to access Qt containers (where the STL ones work as expected)
    on the
    debug
     > >> panel.  It shows <not accessible> in place of the expected
    item quantity
     > >> for a QList, for instance, but for a std::vector<std::string>,
    it works,
     > >> allowing inspection of all items.
     > >>
     > >> Any hints on what I may be doing wrong? The headers are all
    accessible,
    for
     > >> instance. Should I build Qt with debug symbols enabled, as
    recommended
    for
     > >> glibc?
     > >>
     > >> Using current Qt 4.8.5, Qt Creator 2.8.1, gdb 7.7.1, gcc 4.8.3
     > >>
     > >> Thanks!
     > >> Francisco
     > >
     > > Try to print it from gdb cli, if it works you'll know the issue
    QtCreator,
     > > otherwise you're likely missing some symbols. You should always
    compile
    any
     > > development libraries with debug symbols.
     >
     > You don't need debug symbols for inspecting containers. They are not
     > needed. The only reason for enabling debug symbols in Qt is if
    you want
     > to step into Qt's code.

    Thank you. You do need symbols though, just not Qts for this
    specific case.
    There are many reasons why you should compile your development
    libraries with
    symbols besides stepping into the code. Such as getting a backtrace.
    Even
    proprietary (closed-source) libraries often make the symbols
    available for
    this reason.



Reply via email to