QTCreator 2.3.0 debugger detects wrong ABI.
-
Hi everybody.
I installed version 1.1.3 QtSdk and qtCreator 2.3.0 and moved one of projects from qt 4.7.0 to current 4.7.4 revision, I'm using windows XP.The install path is C:\Qt\QtSdk, and my projects are in c:\Qt.
Program builds and run fine in QtCreator, but I cannot debug it anymore.
Looking at the debugger log file, I see that if I build one of the examples in the SDK, I get the following log lines:
<start of log file>
ATTEMPT SYNC
*sStarting debugger 'GdbEngine' for ABI 'x86-windows-msys-pe-32bit'...*dStart parameters: 'digitalclock' mode: 1
dABI: x86-windows-msys-pe-32bit
dExecutable: C:\Qt\QtSdk\Examples\4.7\widgets\digitalclock-build-desktop-Qt_4_7_4_for_Desktop_-MinGW_4_4__Qt_SDK__Debug\debug\digitalclock.exe
dDirectory: C:\Qt\QtSdk\Examples\4.7\widgets\digitalclock-build-desktop-Qt_4_7_4_for_Desktop-MinGW_4_4__Qt_SDK__Debug
dDebugger: C:\Qt\QtSdk\pythongdb\python_2.7based\gdb-i686-pc-mingw32.exe
dProject: C:\Qt\QtSdk\Examples\4.7\widgets\digitalclock (built: C:\Qt\QtSdk\Examples\4.7\widgets\digitalclock-build-desktop-Qt_4_7_4_for_Desktop-_MinGW_4_4__Qt_SDK__Debug)
dQt: C:\Qt\QtSdk\Desktop\Qt\4.7.4\mingw
dQML server: 127.0.0.1:0
....
<end of log file>And the debugger works as expected.
If I start the debugger on my own project, the debugger doesn't work, and the log file shows that the debugger engine is cdb instead of gdb:
<start of log>
ATTEMPT SYNC
sStarting debugger 'CdbEngine' for ABI 'x86-windows-msvc2008-pe-32bit'...
dStart parameters: 'Ziview in ZS2I3' mode: 1
dABI: x86-windows-msvc2008-pe-32bit
dExecutable: C:\zs2i3\ziView.exe
dDirectory: C:\ZS2I3
dDebugger: C:\Qt\QtSdk\pythongdb\python_2.7based\gdb-i686-pc-mingw32.exe
dProject: C:\Qt\ZiView (built: C:\Qt\ziview-build-desktop)
dQt: C:\Qt\QtSdk\Desktop\Qt\4.7.4\mingw
dQML server: 127.0.0.1:0
d
....
<end of log>And the debugger stops immediately.
I see that the debugger starts cdb (which is not installed) instead of gdb.
Installing cdb doesn't solve the problem, of course.The toolchain settings in the project is the same for both projects (the mingw installed with the sdk), while my own uses some more dlls.
I tried to ceate a clone project starting from scratch, with no luck.I'd like to know how to fix this behaviour (e.g. forcing 'GdbEngine').
Thanks in advance for any hint on the subject.
-
Have you considered opening a "bug report":http://bugreports.qt.nokia.com/?
Which compilers are you using to build?
-
I found that debugger doesn't work if I debug the application in the deploy directory.
If I debug it in build directory, the debugger detects the correct ABI.
Inside the deploy directory I put all the needed qt dlls and plugins, and there are several other windows executables.Most likely, qtcreator looks inside the directory and finds a file compiled with msvc, but unfortunately I couldn't find where I could fix the problem. Anybody knows how the ABI detection mechanism works?
-
Oh, I do know how that code works, I wrote it:-)
At that point it should just look at the executable itself... Can you send the misdetected one to me, please? Thanks!
Which bug report is it by the way?