Qt Creator debugging - The values of all composite type variables in "Locals and Expressions" are Not Accessible



  • Since Qt Creator 4.5 I can't view the values of composite types in "Locals and Expressions" while debugging.

    QtCreator of version 4.4.1 works fine:
    0_1532323729165_4.4.1.png

    Versions 4.5, 4.6, 4.7:
    0_1532323739077_4.7.png

    Specs:
    Windows 7, 64bit, Windows 10, 64bit
    QT 5.9, QT 5.10.1
    MSVC 2015_64

    This problem appears on two diffrent computers on WIn7 and Win10. The only difference is Qt Creator version.

    How to make the “Locals and Expressions” debugging window show the values?


  • Qt Champions 2017

    Hi @Tetsuzin72,

    • have you already tried the last Creator version 4.7.0?
    • can you attach the debugger log (Window > Views > Debugger Log)?

    Thanks



  • I've tried QtCreator 4.41, 4.5, 4.6 and the last 4.7.

    Debugger log for Qtcreator 4.7

    wNote: This log contains possibly confidential information about your machine, environment variables, in-memory data of the processes you are debugging, and more. It is never transferred over the internet by Qt Creator, and only stored to disk if you manually use the respective option from the context menu, or through mechanisms that are not under the control of Qt Creator's Debugger plugin, for instance in swap files, or other plugins you might use.
    wYou may be asked to share the contents of this log when reporting bugs related to debugger operation. In this case, make sure your submission does not contain data you do not want to or you are not allowed to share.
    w
    
    sStarting debugger "CdbEngine" for ABI "x86-windows-msvc2015-pe-64bit"...
    dStart parameters: 'TestNasledovanie' mode: 1
    dABI: x86-windows-msvc2015-pe-64bit
    dLanguages: c++ 
    dExecutable: C:\GS.Repos\Work\Test\build-TestNasledovanie-Desktop_Qt_5_10_1_MSVC2015_64bit-Debug\debug\TestNasledovanie 
    dDirectory: C:\GS.Repos\Work\Test\build-TestNasledovanie-Desktop_Qt_5_10_1_MSVC2015_64bit-Debug
    dDebugger: C:\Program Files\Debugging Tools for Windows (x64)\cdb.exe
    dProject: C:\GS.Repos\Work\Test\TestNasledovanie
    dAdditional Search Directories:
    dSysroot: 
    dDebug Source Location: 
    dDebugger settings:
    dAdditionalArguments:   (default: )
    dAdjustBreakpointLocations: true  (default: true)
    dAllPluginBreakpoints: true  (default: true)
    dAlwaysAdjustColumnWidths: true  (default: true)
    dAutoDerefPointers: true  (default: true)
    dAutoEnrichParameters: true  (default: true)
    dAutoQuit: false  (default: false)
    dBreakEvent:   (default: )
    dBreakOnAbort: false  (default: false)
    dBreakOnCatch: false  (default: false)
    dBreakOnCrtDbgReport: false  (default: false)
    dBreakOnFatal: false  (default: false)
    dBreakOnThrow: false  (default: false)
    dBreakOnWarning: false  (default: false)
    dBreakpointCorrection: true  (default: true)
    dBreakpointsFullPath: false  (default: false)
    dCDB_Console: false  (default: false)
    dCloseBuffersOnExit: false  (default: false)
    dCloseMemoryBuffersOnExit: true  (default: true)
    dDisplayStringLimit: 100  (default: 100)
    dEnableReverseDebugging: false  (default: false)
    dExtraDumperFile:   (default: )
    dFontSizeFollowsEditor: false  (default: false)
    dGdbCustomDumperCommands:   (default: )
    dGdbPostAttachCommands:   (default: )
    dGdbStartupCommands:   (default: )
    dIdentifyDebugInfoPackages: false  (default: false)
    dIgnoreFirstChanceAccessViolation: false  (default: false)
    dIntelFlavor: false  (default: false)
    dLoadGdbDumpers2: false  (default: false)
    dLoadGdbInit: true  (default: true)
    dLogTimeStamps: false  (default: false)
    dMaximalStackDepth: 20  (default: 20)
    dMaximalStringLength: 10000  (default: 10000)
    dMultiInferior: false  (default: false)
    dNoPluginBreakpoints: false  (default: false)
    dQmlInspector.ShowAppOnTop: false  (default: false)
    dRaiseOnInterrupt: true  (default: true)
    dRegisterForPostMortem: false  (default: false)
    dSelectedPluginBreakpoints: false  (default: false)
    dSelectedPluginBreakpointsPattern: .*  (default: .*)
    dShowQObjectNames2: true  (default: true)
    dShowQmlObjectTree: true  (default: true)
    dShowQtNamespace: true  (default: true)
    dShowStandardNamespace: true  (default: true)
    dShowThreadNames: false  (default: false)
    dSkipKnownFrames: false  (default: false)
    dSortStructMembers: true  (default: true)
    dSourcePaths:   (default: )
    dStationaryEditorWhileStepping: false  (default: false)
    dSwitchModeOnExit: false  (default: false)
    dSymbolPaths:   (default: )
    dTargetAsync: false  (default: false)
    dUseAddressInBreakpointsView: false  (default: false)
    dUseAddressInStackView: false  (default: false)
    dUseAlternatingRowColours: false  (default: false)
    dUseCodeModel: true  (default: true)
    dUseDebuggingHelper: true  (default: true)
    dUseDynamicType: true  (default: true)
    dUseMessageBoxForSignals: true  (default: true)
    dUsePythonDumper: true  (default: true)
    dUseToolTips: true  (default: true)
    dUseToolTipsInBreakpointsView: false  (default: false)
    dUseToolTipsInLocalsView: false  (default: false)
    dUseToolTipsInStackView: true  (default: true)
    dWarnOnReleaseBuilds: true  (default: true)
    dWatchdogTimeout: 20  (default: 20)
    dState changed from DebuggerNotReady(0) to EngineSetupRequested(1) [master]
    dCALL: SETUP ENGINE
     Launching C:\Program Files\Debugging Tools for Windows (x64)\cdb.exe -aqtcreatorcdbext.dll -lines -G -c .idle_cmd !qtcreatorcdbext.idle -y "" C:\GS.Repos\Work\Test\build-TestNasledovanie-Desktop_Qt_5_10_1_MSVC2015_64bit-Debug\debug\TestNasledovanie
     using C:\Qt\qtcreator-4.7.0\lib\qtcreatorcdbext64\qtcreatorcdbext.dll of 17.07.2018 7:18.
     C:\Program Files\Debugging Tools for Windows (x64)\cdb.exe running as 6936
    
     Microsoft (R) Windows Debugger Version 6.11.0001.404 AMD64
     Using codemodel based breakpoint correction.
     Copyright (c) Microsoft Corporation. All rights reserved.
     CommandLine: C:\GS.Repos\Work\Test\build-TestNasledovanie-Desktop_Qt_5_10_1_MSVC2015_64bit-Debug\debug\TestNasledovanie
    
     WARNING: Inaccessible path: '""'
     Symbol search path is: ""
     Executable search path is: 
    sModule loaded: TestNasledovanie.exe
    sModule loaded: ntdll.dll
    sModule loaded: C:\Windows\System32\KERNEL32.DLL
     WARNING: System version is 6.2 but kernel32.dll is version 10.0.
    sModule loaded: C:\Windows\System32\KERNELBASE.dll
    sModule loaded: C:\Windows\System32\SHELL32.dll
    sModule loaded: C:\Windows\System32\msvcrt.dll
    sModule loaded: C:\Windows\System32\cfgmgr32.dll
    sModule loaded: C:\Windows\System32\ucrtbase.dll
    sModule loaded: C:\Windows\System32\shcore.dll
    sModule loaded: C:\Windows\System32\RPCRT4.dll
    sModule loaded: C:\Windows\System32\combase.dll
    sModule loaded: C:\Windows\System32\bcryptPrimitives.dll
    sModule loaded: C:\Windows\System32\windows.storage.dll
    sModule loaded: C:\Windows\System32\advapi32.dll
    sModule loaded: C:\Windows\System32\sechost.dll
    sModule loaded: C:\Qt\Qt5.10.1\5.10.1\msvc2015_64\bin\Qt5Cored.dll
    sModule loaded: C:\Windows\System32\shlwapi.dll
    sModule loaded: C:\Windows\System32\GDI32.dll
    sModule loaded: C:\Windows\System32\gdi32full.dll
    sModule loaded: C:\Windows\System32\WS2_32.dll
    sModule loaded: C:\Windows\System32\msvcp_win.dll
    sModule loaded: C:\Windows\System32\USER32.dll
    sModule loaded: C:\Windows\System32\USER32.dll
    sModule loaded: C:\Windows\System32\win32u.dll
    sModule loaded: C:\Windows\System32\win32u.dll
    sModule loaded: C:\Windows\System32\kernel.appcore.dll
    sModule loaded: C:\Windows\System32\powrprof.dll
    sModule loaded: C:\Windows\System32\ole32.dll
    sModule loaded: C:\Windows\System32\profapi.dll
    sModule loaded: C:\Windows\SYSTEM32\VCRUNTIME140D.dll
    sModule loaded: C:\Windows\SYSTEM32\ucrtbased.dll
    sModule loaded: C:\Windows\SYSTEM32\MPR.dll
    sModule loaded: C:\Windows\SYSTEM32\VERSION.dll
    sModule loaded: C:\Windows\SYSTEM32\NETAPI32.dll
    sModule loaded: C:\Windows\SYSTEM32\USERENV.dll
    sModule loaded: C:\Windows\SYSTEM32\WINMM.dll
    sModule loaded: C:\Windows\SYSTEM32\MSVCP140D.dll
    sModule loaded: C:\Windows\SYSTEM32\winmmbase.dll
    sModule loaded: C:\Windows\SYSTEM32\winmmbase.dll
    sModule loaded: C:\Windows\SYSTEM32\WINMMBASE.dll
    sModule loaded: C:\Windows\SYSTEM32\NETUTILS.DLL
    sModule loaded: C:\Windows\SYSTEM32\SRVCLI.DLL
    sModule loaded: C:\Windows\SYSTEM32\CRYPTBASE.DLL
     (2080.454): Break instruction exception - code 80000003 (first chance)
     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - 
     ntdll!LdrInitShimEngineDynamic+0x34c:
     00007ffc`444a2e1c cc              int     3
     cdb: Reading initial command '.idle_cmd !qtcreatorcdbext.idle'
     Execute when idle: !qtcreatorcdbext.idle
     0:000>
    <l+t
    <l+s
    <bu100100 `TestNasledovanie!C:\GS.Repos\Work\Test\TestNasledovanie\main.cpp:24`
    <!qtcreatorcdbext.breakpoints -v
    <.symopt+0x8000
    <sxn 0x4000001f
    <sxn ibp
    <.asm source_line
    <!qtcreatorcdbext.setparameter maxStringLength=10000 maxStackDepth=20
    <!qtcreatorcdbext.script  print(sys.version)
    <!qtcreatorcdbext.pid
     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
     *** WARNING: Unable to verify checksum for TestNasledovanie.exe
    d*** WARNING: Unable to verify checksum for TestNasledovanie.exe
     Obtained breakpoint 0xfbb58fa6f0 (#1), at 0x7ff7893015ea, module: 'TestNasledovanie'
     All breakpoints have been resolved.
     Symbol options are 0xB8237:
       0x00000001 - SYMOPT_CASE_INSENSITIVE
       0x00000002 - SYMOPT_UNDNAME
       0x00000004 - SYMOPT_DEFERRED_LOADS
       0x00000010 - SYMOPT_LOAD_LINES
       0x00000020 - SYMOPT_OMAP_FIND_NEAREST
       0x00000200 - SYMOPT_FAIL_CRITICAL_ERRORS
       0x00008000 - SYMOPT_NO_PUBLICS
       0x00010000 - SYMOPT_AUTO_PUBLICS
       0x00020000 - SYMOPT_NO_IMAGE_SEARCH
       0x00080000 - SYMOPT_NO_PROMPTS
     Assembly options: source_line
     3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)]
    <!qtcreatorcdbext.script  sys.path.insert(1, 'C:\\Qt\\qtcreator-4.7.0\\share\\qtcreator\\debugger')
    <!qtcreatorcdbext.script  from cdbbridge import Dumper
    <!qtcreatorcdbext.script  print(dir())
    <!qtcreatorcdbext.script  theDumper = Dumper()
    <!qtcreatorcdbext.script  theDumper.loadDumpers(None)
     Qt Creator CDB extension version 4.3 64 bit.
    dTaking notice of pid 8320
    dNOTE: ENGINE SETUP OK
    dState changed from EngineSetupRequested(1) to EngineSetupOk(3) [master]
    dState changed from EngineSetupOk(3) to EngineRunRequested(4) [master]
    dCALL: RUN ENGINE
    <g
    
     ['Dumper', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'cdbext', 'sys']
    dNOTE: ENGINE RUN AND INFERIOR RUN OK
    sRunning.
    dState changed from EngineRunRequested(4) to InferiorRunOk(8) [master]
    sModule loaded: C:\Windows\System32\IMM32.DLL
     Breakpoint 100100 hit
     *** WARNING: Unable to verify checksum for TestNasledovanie.exe
     >   24:     qDebug() << list[0].val1;
     TestNasledovanie!main+0x8a:
        2400007ff7`893015ea 33d2            xor     edx,edx
     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntdll.dll - 
     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Windows\System32\KERNEL32.DLL - 
    sStopped at breakpoint 1 (1) in thread 0.
    dNOTE: INFERIOR SPONTANEOUS STOP
    sStopped.
    dState changed from InferiorRunOk(8) to InferiorStopOk(11) [master]
     Checking for wow64 subsystem...
    <lm m wow64
     start             end                 module name
    <.frame 0x0
    <!qtcreatorcdbext.script  theDumper.fetchVariables({"autoderef":1,"context":"","displaystringlimit":"100","dyntype":1,"expanded":["return","inspect","watch","local"],"fancy":1,"formats":{},"nativemixed":0,"partialvar":"","passexceptions":0,"qobjectnames":1,"stringcutoff":"10000","typeformats":{},"uninitialized":[],"watchers":[]})
     00 0000008d`4871f9a0 00007ff7`89304c4d TestNasledovanie!main+0x8a [c:\gs.repos\work\test\testnasledovanie\main.cpp @ 24]
    
     *** WARNING: Unable to verify checksum for C:\Qt\Qt5.10.1\5.10.1\msvc2015_64\bin\Qt5Cored.dll
     *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Qt\Qt5.10.1\5.10.1\msvc2015_64\bin\Qt5Cored.dll - 
     *************************************************************************
     ***                                                                   ***
     ***                                                                   ***
     ***    Your debugger is not using the correct symbols                 ***
     ***                                                                   ***
     ***    In order for this command to work properly, your symbol path   ***
     ***    must point to .pdb files that have full type information.      ***
     ***                                                                   ***
     ***    Certain .pdb files (such as the public OS symbols) do not      ***
     ***    contain the required information.  Contact the group that      ***
     ***    provided you with these symbols if you need this command to    ***
     ***    work.                                                          ***
     ***                                                                   ***
     ***    Type referenced: Qt5Cored!QObject::customEvent                 ***
     ***                                                                   ***
     *************************************************************************
     Type information missing error for QObject::customEvent
     *************************************************************************
     ***                                                                   ***
     ***                                                                   ***
     ***    Your debugger is not using the correct symbols                 ***
     ***                                                                   ***
     ***    In order for this command to work properly, your symbol path   ***
     ***    must point to .pdb files that have full type information.      ***
     ***                                                                   ***
     ***    Certain .pdb files (such as the public OS symbols) do not      ***
     ***    contain the required information.  Contact the group that      ***
     ***    provided you with these symbols if you need this command to    ***
     ***    work.                                                          ***
     ***                                                                   ***
     ***    Type referenced: Qt5Cored!QObject::customEvent                 ***
     ***                                                                   ***
     *************************************************************************
     Type information missing error for QObject::customEvent
     *************************************************************************
     ***                                                                   ***
     ***                                                                   ***
     ***    Your debugger is not using the correct symbols                 ***
     ***                                                                   ***
     ***    In order for this command to work properly, your symbol path   ***
     ***    must point to .pdb files that have full type information.      ***
     ***                                                                   ***
     ***    Certain .pdb files (such as the public OS symbols) do not      ***
     ***    contain the required information.  Contact the group that      ***
     ***    provided you with these symbols if you need this command to    ***
     ***    work.                                                          ***
     ***                                                                   ***
     ***    Type referenced: Qt5Cored!QObject::customEvent                 ***
     ***                                                                   ***
     *************************************************************************
     Type information missing error for QObject::customEvent
     *************************************************************************
     ***                                                                   ***
     ***                                                                   ***
     ***    Your debugger is not using the correct symbols                 ***
     ***                                                                   ***
     ***    In order for this command to work properly, your symbol path   ***
     ***    must point to .pdb files that have full type information.      ***
     ***                                                                   ***
     ***    Certain .pdb files (such as the public OS symbols) do not      ***
     ***    contain the required information.  Contact the group that      ***
     ***    provided you with these symbols if you need this command to    ***
     ***    work.                                                          ***
     ***                                                                   ***
     ***    Type referenced: Qt5Cored!QObject::customEvent                 ***
     ***                                                                   ***
     *************************************************************************
     Type information missing error for QObject::customEvent
     *************************************************************************
     ***                                                                   ***
     ***                                                                   ***
     ***    Your debugger is not using the correct symbols                 ***
     ***                                                                   ***
     ***    In order for this command to work properly, your symbol path   ***
     ***    must point to .pdb files that have full type information.      ***
     ***                                                                   ***
     ***    Certain .pdb files (such as the public OS symbols) do not      ***
     ***    contain the required information.  Contact the group that      ***
     ***    provided you with these symbols if you need this command to    ***
     ***    work.                                                          ***
     ***                                                                   ***
     ***    Type referenced: Qt5Cored!qtHookData                           ***
     ***                                                                   ***
     *************************************************************************
     Type information missing error for qtHookData
     *************************************************************************
     ***                                                                   ***
     ***                                                                   ***
     ***    Your debugger is not using the correct symbols                 ***
     ***                                                                   ***
     ***    In order for this command to work properly, your symbol path   ***
     ***    must point to .pdb files that have full type information.      ***
     ***                                                                   ***
     ***    Certain .pdb files (such as the public OS symbols) do not      ***
     ***    contain the required information.  Contact the group that      ***
     ***    provided you with these symbols if you need this command to    ***
     ***    work.                                                          ***
     ***                                                                   ***
     ***    Type referenced: Qt5Cored!qtHookData                           ***
     ***                                                                   ***
     *************************************************************************
     Type information missing error for qtHookData
     *************************************************************************
     ***                                                                   ***
     ***                                                                   ***
     ***    Your debugger is not using the correct symbols                 ***
     ***                                                                   ***
     ***    In order for this command to work properly, your symbol path   ***
     ***    must point to .pdb files that have full type information.      ***
     ***                                                                   ***
     ***    Certain .pdb files (such as the public OS symbols) do not      ***
     ***    contain the required information.  Contact the group that      ***
     ***    provided you with these symbols if you need this command to    ***
     ***    work.                                                          ***
     ***                                                                   ***
     ***    Type referenced: Qt5Cored!qtHookData                           ***
     ***                                                                   ***
     *************************************************************************
     Type information missing error for qtHookData
     result={data=[{iname="local.argc",name="argc",address="0x8d4871fa40",numchild="0",type="int",value="1"},{iname="local.argv",name="argv",numchild="1",type="char **",valueencoded="itemcount",value="1"},{iname="local.list",name="list",numchild="0",type="QList<Class1>",valueencoded="notaccessible",value=""}],partial="0",timings=[]}
     <Rebuild Watchmodel 1 @ 15:22:43.252 >
    sFinished retrieving data
    
    dQUIT DEBUGGER REQUESTED IN STATE 11
    dState changed from InferiorStopOk(11) to InferiorShutdownRequested(13) [master]
    dCALL: SHUTDOWN INFERIOR
    dINFERIOR FINISHED SHUT DOWN
    dState changed from InferiorShutdownRequested(13) to InferiorShutdownFinished(14) [master]
    dState changed from InferiorShutdownFinished(14) to EngineShutdownRequested(15) [master]
    dCALL: SHUTDOWN ENGINE
    <q
    dCDB PROCESS FINISHED, status 0, exit code 0
    dNOTE: ENGINE SHUTDOWN FINISHED
    dState changed from EngineShutdownRequested(15) to EngineShutdownFinished(16) [master]
    dState changed from EngineShutdownFinished(16) to DebuggerFinished(17) [master]
    sDebugger finished.
    
    

  • Qt Champions 2017

    Hi @Tetsuzin72,

    thanks for the information - I've completely overseen the 4.7 on top of your second picture...

    In the log, I see the following:

    {iname="local.list",name="list",numchild="0",type="QList<Class1>",valueencoded="notaccessible",value=""}]*

    so indeed something goes wrong here.

    Can you prepare a minimal compile- and debuggable example and create a report at bugreports.qt.io ? That is the fastest way to get this fixed.

    Thanks

    PS: please add the link to the bugreport here so we can follow it.





  • Reference to QTBUG-67587 really helped me. I’ve downloaded the “Debug symbols for Windows users” 7zip file und unzip it to Qt bin directory. And now QC of version 4.7.0 works too. But I still do not understand why QC4.4 works without PDB files?



  • @Tetsuzin72
    0_1532695987324_1.png

    There are PDB files in my Qt folder,but QTC4.7 still can not show local variables correctly.



  • Hi everyone,
    I faced the same issue (Windows 10 64 bit, Qt5.11.1, MSVC 2017_64 and QTC 4.6.2) and managed to solve it by simply disabling the use of Python dumper (Tools > Options > Debugger > CDB Tab > Use Python dumper).
    0_1533738393601_da13740c-48ac-4e66-984d-cc31fe6af142-image.png
    No idea though how this is related to the mentioned issue.



  • @Benjamin07-0 Thanks, it's best solution.


Log in to reply
 

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