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 symsrvsymsrv.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 00000000
012e3000 LASE.exe
ModLoad: 0000000077060000 00000000
77209000 ntdll.dll
ModLoad: 0000000077240000 00000000
773c0000 ntdll32.dll
ModLoad: 00000000732a0000 00000000
732df000 C:\Windows\SYSTEM32\wow64.dll
ModLoad: 0000000073240000 00000000
7329c000 C:\Windows\SYSTEM32\wow64win.dll
ModLoad: 00000000746e0000 00000000
746e8000 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 00000000
76eff000 WOW64_IMAGE_SECTION
ModLoad: 0000000075cd0000 00000000
75de0000 WOW64_IMAGE_SECTION
ModLoad: 0000000076de0000 00000000
76eff000 NOT_AN_IMAGE
ModLoad: 0000000076980000 00000000
76a7a000 NOT_AN_IMAGE
ModLoad: 0000000075cd0000 00000000
75de0000 C:\Windows\syswow64\kernel32.dll
ModLoad: 0000000076150000 00000000
76196000 C:\Windows\syswow64\KERNELBASE.dll
ModLoad: 0000000061be0000 00000000
6296d000 C:\dev\Qt\4.7.4_x32_msvc2010\lib\QtGuid4.dll
ModLoad: 0000000076550000 00000000
765e0000 C:\Windows\syswow64\GDI32.dll
ModLoad: 0000000074d40000 00000000
74e40000 C:\Windows\syswow64\USER32.dll
ModLoad: 0000000076760000 00000000
76800000 C:\Windows\syswow64\ADVAPI32.dll
ModLoad: 00000000760a0000 00000000
7614c000 C:\Windows\syswow64\msvcrt.dll
ModLoad: 00000000701c0000 00000000
7035e000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\COMCTL32.dll
ModLoad: 0000000064810000 00000000
648c7000 C:\Windows\SysWOW64\MSVCP100D.dll
ModLoad: 00000000631a0000 00000000
63313000 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 00000000
6f823000 C:\Windows\SysWOW64\dwmapi.dll
ModLoad: 0000000072d30000 00000000
72d3b000 C:\Windows\SysWOW64\profapi.dll
s
sException at 0x7615b9bc, code: 0x406d1388: Startup complete, flags=0x0 in KERNELBASE!RaiseException
ModLoad: 0000000074b90000 00000000
74d2d000 C:\Windows\syswow64\SETUPAPI.dll
ModLoad: 00000000749a0000 00000000
749c7000 C:\Windows\syswow64\CFGMGR32.dll
ModLoad: 0000000076370000 00000000
76382000 C:\Windows\syswow64\DEVOBJ.dll
ModLoad: 00000000761b0000 00000000
76233000 C:\Windows\syswow64\CLBCatQ.DLL
ModLoad: 000000006bbd0000 00000000
6bcc5000 C:\Windows\SysWOW64\propsys.dll
ModLoad: 0000000070490000 00000000
704b1000 C:\Windows\SysWOW64\ntmarta.dll
ModLoad: 0000000074ac0000 00000000
74b05000 C:\Windows\syswow64\WLDAP32.dll
ModLoad: 00000000674f0000 00000000
675eb000 C:\Windows\SysWOW64\WindowsCodecs.dll
ModLoad: 0000000072ce0000 00000000
72d2c000 C:\Windows\SysWOW64\apphelp.dll
ModLoad: 0000000066370000 00000000
663a1000 EhStorAPI.DLL
ModLoad: 0000000066370000 00000000
663a1000 C:\Windows\SysWOW64\EhStorShell.dll
ModLoad: 000000006f290000 00000000
6f300000 ntshrui.dll
ModLoad: 000000006f290000 00000000
6f300000 C:\Windows\SysWOW64\ntshrui.dll
ModLoad: 0000000072e30000 00000000
72e49000 C:\Windows\SysWOW64\srvcli.dll
ModLoad: 0000000073e20000 00000000
73e2b000 C:\Windows\SysWOW64\cscapi.dll
ModLoad: 0000000073a10000 00000000
73a1a000 C:\Windows\SysWOW64\slc.dll
ModLoad: 00000000034d0000 00000000
0411a000 C:\Windows\SysWOW64\shell32.dll
ModLoad: 00000000034d0000 00000000
0411a000 C:\Windows\SysWOW64\shell32.dll
ModLoad: 00000000034d0000 00000000
0411a000 C:\Windows\SysWOW64\shell32.dll
ModLoad: 00000000034d0000 00000000
0411a000 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 00000000
729cb000 C:\Windows\SysWOW64\rsaenh.dll
ModLoad: 0000000070190000 00000000
701be000 SHDOCVW.dll
ModLoad: 0000000070190000 00000000
701be000 C:\Windows\SysWOW64\shdocvw.dll
ModLoad: 0000000005eb0000 00000000
06afa000 C:\Windows\SysWOW64\shell32.dll
ModLoad: 00000000690a0000 00000000
699e5000 C:\Windows\SysWOW64\ieframe.dll
ModLoad: 0000000074990000 00000000
74995000 C:\Windows\syswow64\PSAPI.DLL
ModLoad: 000000006fea0000 00000000
6fedc000 C:\Windows\SysWOW64\OLEACC.dll
ModLoad: 0000000076390000 00000000
76548000 C:\Windows\syswow64\iertutil.dll
ModLoad: 0000000005eb0000 00000000
06afa000 C:\Windows\SysWOW64\shell32.dll
ModLoad: 0000000005eb0000 00000000
06afa000 C:\Windows\SysWOW64\shell32.dll
ModLoad: 0000000005eb0000 00000000
06afa000 C:\Windows\SysWOW64\shell32.dll
ModLoad: 0000000005eb0000 00000000
06afa000 C:\Windows\SysWOW64\shell32.dll
ModLoad: 0000000072d90000 00000000
72e14000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll
Breakpoint 1 hit207: 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.@ -
Sorry, that expression is too complex for CDB to handle. There is nothing we can do about that.
-
Sorry, I hardly ever work on windows, not sure what the current state of the art is there:-)