Important: Please read the Qt Code of Conduct -

Qt Creator with GCC 4.8.0 -- debugger problems

  • I downloaded and installed Qt 5.0.1 for MinGW 4.7.2, on Windows 7. But there is a known bug in GCC 4.7.2 that causes an invalid this pointer to be passed to a virtual function under some circumstances that involve virtual and non-virtual inheritance in the same class. The details are on "this Bugzilla page":

    So I "posted my problem here":, and decided on the basis of the replies to try compiling Qt 5.0.2 and Qt Creator 2.7.0 from source, using MinGW with the latest GCC 4.8.0.

    This may have been a reckless decision, but it succeeded up to a point. I can compile and run my large-ish project, with no known problems. But the debugger is not quite there yet. I can set breakpoints, and gdb will stop at the breakpoints and display the source. I can step through the source code. But there are several problems:

    1. The call stack is not being displayed.
    2. Assembly-language mode doesn't work. The source window remains on display, and single-stepping apears to do nothing.
    3. I can add an expression evaluator for a local variable, but it seems to go out of scope as soon as I single-step.
    4. The CPU registers are not displayed.

    Was this a sensible thing to try? Or is using Qt 5.0.2 with GCC 4.8.0 doomed to failure? After a bit of digging, I discovered two changes to GCC 4.8.0 that might have a bearing on the problem:

    1. It uses the latest DWARF Version 4 debugging format. So I tried re-compiling my whole project with the -gdwarf-2 parameter, but it didn't help.
    2. It uses, not sjlj, not dw2, but SEH (see "Structured Exception Handling": for exception handling. Could this be to blame?

  • Moderators

    Have you "filed a bug report": about this issue?

    Creator has so far not been tested with GCC 4.8.0 at all AFAIK. It is on my todo list once Archlinux updates the compiler:-)

  • Try adding these flags to your project:

    -g together with -gdwarf-2

    This may fix your issue. My guess is that gcc 4.8 is outputting
    dwarf 4 when you probably have an older gdb which can read
    dwarf 2.

  • bq. once Archlinux updates the compiler

    Problem is that Kubuntu already updated gcc to 4.8 for a long time ago...

  • Moderators

    Dimantle: So has arch... my post was from 2nd April after all. It works fine for me.

    Ubuntu does currently have a bit of trouble with gdb though: Ubuntu updated the python built into gdb to 3.x, which is -- from what I read -- not fully supported by GDB yet and does also break the pretty printers Qt Creator ships. Qt Creator 3.0 should have the pretty printers fixed though.

  • bq. Qt Creator 3.0 should have the pretty printers fixed though.

    Yes, you are right, I installed QtCreator 3.0 beta today, and all debugging stuff start working

Log in to reply