Malfunctioning watch expressions with CDB



  • Hello! I compiled a 64bit version of Qt 4.7.4 for use with Qt Creator 2.3.1. I did this using MSVC2010, so I have to use that compiler and Debugging Tools For Windows (x64) for my development environment.

    When I debug a program, some of the qt-specific methods don't work when I set them as a watch expression. Variables also don't display their value when I mouseover during a break, like they do when developing with MinGW/g++.

    I'm debugging a custom QFile and attempting to query my position using this->pos(), which works under MinGW/g++. Have any suggestions? I thought that perhaps the wrong qtcreatorcdbext.dll was being loaded, but the log suggests that it's working fine. Does debugging 64bit programs using 32bit Qt Creator have anything to do with it? I doubt it...

    DEBUGGING LOG FOLLOWS

    @dATTEMPT SYNC
    sStarting debugger 'CdbEngine' for ABI 'x86-windows-msvc2010-pe-32bit'...
    dStart parameters: 'LASE' mode: 1
    dABI: x86-windows-msvc2010-pe-32bit
    dExecutable: C:\dev\programs\LASE-build-desktop-Qt_4_7_4_x32_msvc2010_Debug\debug\LASE.exe
    dDirectory: C:\dev\programs\LASE-build-desktop-Qt_4_7_4_x32_msvc2010_Debug
    dDebugger: C:\Program Files\Debugging Tools For Windows (x64)\cdb.exe
    dProject: C:\dev\programs\LASE (built: C:\dev\programs\LASE-build-desktop-Qt_4_7_4_x32_msvc2010_Debug)
    dQt: C:\dev\Qt\4.7.4_x32_msvc2010
    dQML server: 127.0.0.1:0
    d
    dDebugger settings:
    dUseAlternatingRowColours: false (default: false)
    dFontSizeFollowsEditor: false (default: false)
    dUseMessageBoxForSignals: true (default: true)
    dAutoQuit: false (default: false)
    dLogTimeStamps: false (default: false)
    dVerboseLog: false (default: false)
    dCloseBuffersOnExit: false (default: false)
    dSwitchModeOnExit: false (default: false)
    dUseDebuggingHelper: true (default: true)
    dUseCodeModel: true (default: true)
    dShowThreadNames: false (default: false)
    dUseToolTips: false (default: false)
    dUseToolTipsInLocalsView: false (default: false)
    dUseToolTipsInBreakpointsView: false (default: false)
    dUseAddressInBreakpointsView: false (default: false)
    dUseAddressInStackView: false (default: false)
    dRegisterForPostMortem: false (default: false)
    dLoadGdbInit: true (default: true)
    dScriptFile: (default: )
    dWatchdogTimeout: 20 (default: 20)
    dTargetAsync: false (default: false)
    dMaximalStackDepth: 20 (default: 20)
    dAlwaysAdjustStackColumnWidths: false (default: false)
    dShowStandardNamespace: true (default: true)
    dShowQtNamespace: true (default: true)
    dSortStructMembers: true (default: true)
    dAutoDerefPointers: true (default: true)
    dAlwaysAdjustLocalsColumnWidths: false (default: false)
    dListSourceFiles: false (default: false)
    dSkipKnownFrames: false (default: false)
    dEnableReverseDebugging: false (default: false)
    dAllPluginBreakpoints: true (default: true)
    dSelectedPluginBreakpoints: false (default: false)
    dAdjustBreakpointLocations: true (default: true)
    dAlwaysAdjustBreakpointsColumnWidths: false (default: false)
    dNoPluginBreakpoints: false (default: false)
    dSelectedPluginBreakpointsPattern: .* (default: .)
    dBreakOnThrow: false (default: false)
    dBreakOnCatch: false (default: false)
    dBreakOnWarning: false (default: false)
    dBreakOnFatal: false (default: false)
    dAlwaysAdjustRegistersColumnWidths: false (default: false)
    dAlwaysAdjustSnapshotsColumnWidths: false (default: false)
    dAlwaysAdjustThreadsColumnWidths: false (default: false)
    dAlwaysAdjustModulesColumnWidths: false (default: false)
    dState changed from DebuggerNotReady(0) to EngineSetupRequested(1).
    dQUEUE: SETUP ENGINE
    dCALL: SETUP ENGINE
    Launching C:\Program Files\Debugging Tools For Windows (x64)\cdb.exe -aqtcreatorcdbext.dll -lines -G -c .idle_cmd !qtcreatorcdbext.idle -y symsrv
    symsrv.dllC:\temp\symbolcachehttp://msdl.microsoft.com/download/symbols C:\dev\programs\LASE-build-desktop-Qt_4_7_4_x32_msvc2010_Debug\debug\LASE.exe
    using C:\dev\Qt\qtcreator-2.3.1\lib\qtcreatorcdbext64\qtcreatorcdbext.dll of 7/11/2011 3:35:08 AM.
    C:\Program Files\Debugging Tools For Windows (x64)\cdb.exe running as 6896
    Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.
    CommandLine: C:\dev\programs\LASE-build-desktop-Qt_4_7_4_x32_msvc2010_Debug\debug\LASE.exe
    Symbol search path is: symsrvsymsrv.dllC:\temp\symbolcache*http://msdl.microsoft.com/download/symbols
    Executable search path is:
    ModLoad: 00000000012c0000 00000000012e3000 LASE.exe
    ModLoad: 0000000077060000 0000000077209000 ntdll.dll
    ModLoad: 0000000077240000 00000000773c0000 ntdll32.dll
    ModLoad: 00000000732a0000 00000000732df000 C:\Windows\SYSTEM32\wow64.dll
    ModLoad: 0000000073240000 000000007329c000 C:\Windows\SYSTEM32\wow64win.dll
    ModLoad: 00000000746e0000 00000000746e8000 C:\Windows\SYSTEM32\wow64cpu.dll
    (1a64.c58): Break instruction exception - code 80000003 (first chance)
    ntdll!LdrpDoDebuggerBreak+0x30:
    00000000`7710cb60 cc int 3
    cdb: Reading initial command '.idle_cmd !qtcreatorcdbext.idle'
    Execute when idle: !qtcreatorcdbext.idle
    0:000>
    <l+t
    <l+s
    dNOTE: ENGINE SETUP OK
    dState changed from EngineSetupRequested(1) to EngineSetupOk(3).
    dQUEUE: SETUP INFERIOR
    dState changed from EngineSetupOk(3) to InferiorSetupRequested(4).
    dQUEUE: SETUP INFERIOR
    dCALL: SETUP INFERIOR@



  • (Continuation of Debugging Log... some modules were trimmed to shorten this post)

    @<bu1 C:\dev\programs\LASE\lasfile.cpp:207
    <!qtcreatorcdbext.breakpoints -t 0 -v
    <sxn 0x4000001f
    <.asm source_line
    <!qtcreatorcdbext.pid -t 1
    dATTEMPT SYNC
    Source options are 1:
    1/t - Step/trace by source line
    Source options are 5:
    1/t - Step/trace by source line
    4/s - List source code at prompt
    Obtained breakpoint 0x18d624 (#1), at 0x12c7cfe, module: 'LASE'
    All breakpoints have been resolved.

    Assembly options: source_line
    Qt Creator CDB extension version 0.1 64 bit built Jul 11 2011.
    dTaking notice of pid 6756
    dNOTE: INFERIOR SETUP OK
    dState changed from InferiorSetupRequested(4) to InferiorSetupOk(6).
    dState changed from InferiorSetupOk(6) to EngineRunRequested(7).
    dQUEUE: RUN ENGINE
    dCALL: RUN ENGINE
    <g
    dNOTE: ENGINE RUN AND INFERIOR RUN OK
    dState changed from EngineRunRequested(7) to InferiorRunOk(11).
    ModLoad: 0000000076de0000 0000000076eff000 WOW64_IMAGE_SECTION
    ModLoad: 0000000075cd0000 0000000075de0000 WOW64_IMAGE_SECTION
    ModLoad: 0000000076de0000 0000000076eff000 NOT_AN_IMAGE
    ModLoad: 0000000076980000 0000000076a7a000 NOT_AN_IMAGE
    ModLoad: 0000000075cd0000 0000000075de0000 C:\Windows\syswow64\kernel32.dll
    ModLoad: 0000000076150000 0000000076196000 C:\Windows\syswow64\KERNELBASE.dll
    ModLoad: 0000000061be0000 000000006296d000 C:\dev\Qt\4.7.4_x32_msvc2010\lib\QtGuid4.dll
    ModLoad: 0000000076550000 00000000765e0000 C:\Windows\syswow64\GDI32.dll
    ModLoad: 0000000074d40000 0000000074e40000 C:\Windows\syswow64\USER32.dll
    ModLoad: 0000000076760000 0000000076800000 C:\Windows\syswow64\ADVAPI32.dll
    ModLoad: 00000000760a0000 000000007614c000 C:\Windows\syswow64\msvcrt.dll
    ModLoad: 00000000701c0000 000000007035e000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\COMCTL32.dll
    ModLoad: 0000000064810000 00000000648c7000 C:\Windows\SysWOW64\MSVCP100D.dll
    ModLoad: 00000000631a0000 0000000063313000 C:\Windows\SysWOW64\MSVCR100D.dll
    (1a64.c58): WOW64 breakpoint - code 4000001f (first chance)
    s
    sException at 0x772e0f3b, code: 0x4000001f: Win32 x86 emulation subsystem breakpoint hit, flags=0x0 in ntdll32!LdrpDoDebuggerBreak
    ModLoad: 6fe20000 6fea0000 C:\Windows\SysWOW64\uxtheme.dll
    ModLoad: 000000006f810000 000000006f823000 C:\Windows\SysWOW64\dwmapi.dll
    ModLoad: 0000000072d30000 0000000072d3b000 C:\Windows\SysWOW64\profapi.dll
    s
    sException at 0x7615b9bc, code: 0x406d1388: Startup complete, flags=0x0 in KERNELBASE!RaiseException
    ModLoad: 0000000074b90000 0000000074d2d000 C:\Windows\syswow64\SETUPAPI.dll
    ModLoad: 00000000749a0000 00000000749c7000 C:\Windows\syswow64\CFGMGR32.dll
    ModLoad: 0000000076370000 0000000076382000 C:\Windows\syswow64\DEVOBJ.dll
    ModLoad: 00000000761b0000 0000000076233000 C:\Windows\syswow64\CLBCatQ.DLL
    ModLoad: 000000006bbd0000 000000006bcc5000 C:\Windows\SysWOW64\propsys.dll
    ModLoad: 0000000070490000 00000000704b1000 C:\Windows\SysWOW64\ntmarta.dll
    ModLoad: 0000000074ac0000 0000000074b05000 C:\Windows\syswow64\WLDAP32.dll
    ModLoad: 00000000674f0000 00000000675eb000 C:\Windows\SysWOW64\WindowsCodecs.dll
    ModLoad: 0000000072ce0000 0000000072d2c000 C:\Windows\SysWOW64\apphelp.dll
    ModLoad: 0000000066370000 00000000663a1000 EhStorAPI.DLL
    ModLoad: 0000000066370000 00000000663a1000 C:\Windows\SysWOW64\EhStorShell.dll
    ModLoad: 000000006f290000 000000006f300000 ntshrui.dll
    ModLoad: 000000006f290000 000000006f300000 C:\Windows\SysWOW64\ntshrui.dll
    ModLoad: 0000000072e30000 0000000072e49000 C:\Windows\SysWOW64\srvcli.dll
    ModLoad: 0000000073e20000 0000000073e2b000 C:\Windows\SysWOW64\cscapi.dll
    ModLoad: 0000000073a10000 0000000073a1a000 C:\Windows\SysWOW64\slc.dll
    ModLoad: 00000000034d0000 000000000411a000 C:\Windows\SysWOW64\shell32.dll
    ModLoad: 00000000034d0000 000000000411a000 C:\Windows\SysWOW64\shell32.dll
    ModLoad: 00000000034d0000 000000000411a000 C:\Windows\SysWOW64\shell32.dll
    ModLoad: 00000000034d0000 000000000411a000 C:\Windows\SysWOW64\shell32.dll
    s
    sException at 0x7615b9bc, code: 0x406d1388: Startup complete, flags=0x0 in KERNELBASE!RaiseException
    ModLoad: 729d0000 729e6000 C:\Windows\SysWOW64\CRYPTSP.dll
    ModLoad: 0000000072990000 00000000729cb000 C:\Windows\SysWOW64\rsaenh.dll
    ModLoad: 0000000070190000 00000000701be000 SHDOCVW.dll
    ModLoad: 0000000070190000 00000000701be000 C:\Windows\SysWOW64\shdocvw.dll
    ModLoad: 0000000005eb0000 0000000006afa000 C:\Windows\SysWOW64\shell32.dll
    ModLoad: 00000000690a0000 00000000699e5000 C:\Windows\SysWOW64\ieframe.dll
    ModLoad: 0000000074990000 0000000074995000 C:\Windows\syswow64\PSAPI.DLL
    ModLoad: 000000006fea0000 000000006fedc000 C:\Windows\SysWOW64\OLEACC.dll
    ModLoad: 0000000076390000 0000000076548000 C:\Windows\syswow64\iertutil.dll
    ModLoad: 0000000005eb0000 0000000006afa000 C:\Windows\SysWOW64\shell32.dll
    ModLoad: 0000000005eb0000 0000000006afa000 C:\Windows\SysWOW64\shell32.dll
    ModLoad: 0000000005eb0000 0000000006afa000 C:\Windows\SysWOW64\shell32.dll
    ModLoad: 0000000005eb0000 0000000006afa000 C:\Windows\SysWOW64\shell32.dll
    ModLoad: 0000000072d90000 0000000072e14000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
    Breakpoint 1 hit

    207: int i = 0;
    LASE!LasFile::readLASHeader+0x3e:
    207 012c7cfe c745ec00000000 mov dword ptr [ebp-14h],0 ss:002b:003cc4f0=03747860
    sStopped at breakpoint 1 (1) in thread 0.
    dNOTE: INFERIOR SPONTANEOUS STOP
    dState changed from InferiorRunOk(11) to InferiorStopOk(14).
    <!qtcreatorcdbext.locals -t 2 -D -c -W 0
    <!qtcreatorcdbext.addwatch -t 3 watch.0 "this->pos()"
    eUnable to add watch item 'watch.0'/'this->pos()': Cannot add symbol 'this->pos()': DEBUG_ANY_ID was returned as symbol index by AddSymbol.@


  • Moderators

    Sorry, that expression is too complex for CDB to handle. There is nothing we can do about that.



  • Well, nuts. Thanks for the reply!

    Would you happen to know of a stable 64bit version of MinGW or am I stuck with msvc2010 for a while?


  • Moderators

    Sorry, I hardly ever work on windows, not sure what the current state of the art is there:-)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.