CDB ошибки

Как всегда работала отладка под Qt Creator 2.4.1 отлаживали проекты и вдруг перестала работать, а точнее стартует как обычно отладчик (не ругается), но при установке первой точки останова все зависает.

Вот так все выглядит в окне отладчика:

dATTEMPT SYNC
sStarting debugger 'CdbEngine' for ABI 'x86-windows-msvc2010-pe-32bit'...dStart parameters: 'test' mode: 1
dABI: x86-windows-msvc2010-pe-32bit
dExecutable: D:\DEVELOPMENT\QT4\_MY__\equipment\test\debug\test.exe 
dDirectory: D:\DEVELOPMENT\QT4\_MY__\equipment\test
dDebugger: C:\Program Files (x86)\Debugging Tools for Windows (x86)\cdb.exe
dProject: D:\DEVELOPMENT\QT4\_MY__\equipment\test (built: D:\DEVELOPMENT\QT4\_MY__\equipment\test)
dQt: D:\QtSDK1.2.1\QtSources\4.8.1
dQML server: 127.0.0.1:3768
dSysroot: 
dDebug Source Loaction: 
dSymbol file: 
dDumper libraries:  D:\QtSDK1.2.1\QtSources\4.8.1\qtc-debugging-helper\ D:\QtSDK1.2.1\QtCreator\qtc-debugging-helper\218448593\ C:\Users\p\AppData\Local\Nokia\QtCreator\qtc-debugging-helper\218448593\
d
dDebugger settings: 
dUseAlternatingRowColours: true  (default: false)  ***
dFontSizeFollowsEditor: true  (default: false)  ***
dUseMessageBoxForSignals: true  (default: true)
dAutoQuit: false  (default: false)
dLogTimeStamps: false  (default: false)
dVerboseLog: false  (default: false)
dCloseBuffersOnExit: true  (default: false)  ***
dSwitchModeOnExit: false  (default: false)
dUseDebuggingHelper: false  (default: true)  ***
dUseCodeModel: false  (default: true)  ***
dShowThreadNames: false  (default: false)
dUseToolTips: true  (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)
dAutoEnrichParameters: false  (default: false)
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: true  (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 (x86)\Debugging Tools for Windows (x86)\cdb.exe -aqtcreatorcdbext.dll -lines -G -c .idle_cmd !qtcreatorcdbext.idle -y symsrv*symsrv.dll*C:\Users\p\AppData\Local\Temp\symbolcache*http://msdl.microsoft.com/download/symbols D:\DEVELOPMENT\QT4\_MY__\equipment\test\debug\test.exe
 using D:\QtSDK1.2.1\QtCreator\lib\qtcreatorcdbext32\qtcreatorcdbext.dll of 18.03.2021 16:53:29.
 C:\Program Files (x86)\Debugging Tools for Windows (x86)\cdb.exe running as 2112
 Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
 Copyright (c) Microsoft Corporation. All rights reserved.
 CommandLine: D:\DEVELOPMENT\QT4\_MY__\equipment\test\debug\test.exe
 Symbol search path is: symsrv*symsrv.dll*C:\Users\p\AppData\Local\Temp\symbolcache*http://msdl.microsoft.com/download/symbols
 Executable search path is: 
 ModLoad: 00d50000 00d58000   image00d50000
 ModLoad: 77c70000 77e14000   ntdll.dll
 ModLoad: 76d20000 76e10000   C:\WINDOWS\SysWOW64\KERNEL32.DLL
 ModLoad: 76300000 76519000   C:\WINDOWS\SysWOW64\KERNELBASE.dll
 ModLoad: 5f020000 5f192000   C:\WINDOWS\SysWOW64\MSVCR100D.dll
 ModLoad: 5ed10000 5f016000   D:\QtSDK1.2.1\QtSources\4.8.1\lib\QtCored4.dll
 ModLoad: 77000000 7719c000   C:\WINDOWS\SysWOW64\USER32.dll
 ModLoad: 762e0000 762f8000   C:\WINDOWS\SysWOW64\win32u.dll
 ModLoad: 76080000 760a3000   C:\WINDOWS\SysWOW64\GDI32.dll
 ModLoad: 760b0000 7618c000   C:\WINDOWS\SysWOW64\gdi32full.dll
 ModLoad: 77490000 7750b000   C:\WINDOWS\SysWOW64\msvcp_win.dll
 ModLoad: 76ee0000 77000000   C:\WINDOWS\SysWOW64\ucrtbase.dll
 ModLoad: 75d10000 75df3000   C:\WINDOWS\SysWOW64\ole32.dll
 ModLoad: 76a80000 76b3e000   C:\WINDOWS\SysWOW64\RPCRT4.dll
 ModLoad: 75e00000 7607f000   C:\WINDOWS\SysWOW64\combase.dll
 ModLoad: 77410000 7748b000   C:\WINDOWS\SysWOW64\ADVAPI32.dll
 ModLoad: 77ba0000 77c5f000   C:\WINDOWS\SysWOW64\msvcrt.dll
 ModLoad: 76e60000 76ed6000   C:\WINDOWS\SysWOW64\sechost.dll
 ModLoad: 76520000 76583000   C:\WINDOWS\SysWOW64\WS2_32.dll
 ModLoad: 5ec50000 5ed07000   C:\WINDOWS\SysWOW64\MSVCP100D.dll
 ModLoad: 5e270000 5ec4c000   D:\QtSDK1.2.1\QtSources\4.8.1\lib\QtGuid4.dll
 ModLoad: 771a0000 7724f000   C:\WINDOWS\SysWOW64\COMDLG32.dll
 ModLoad: 77ad0000 77b57000   C:\WINDOWS\SysWOW64\shcore.dll
 ModLoad: 773a0000 773e5000   C:\WINDOWS\SysWOW64\SHLWAPI.dll
 ModLoad: 77510000 77ac6000   C:\WINDOWS\SysWOW64\SHELL32.dll
 ModLoad: 769e0000 76a76000   C:\WINDOWS\SysWOW64\OLEAUT32.dll
 ModLoad: 71de0000 71ff0000   C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_a8625c1886757984\COMCTL32.dll
 ModLoad: 76e30000 76e55000   C:\WINDOWS\SysWOW64\IMM32.dll
 ModLoad: 74270000 742e3000   C:\WINDOWS\SysWOW64\WINSPOOL.DRV
 ModLoad: 75b10000 75b38000   C:\WINDOWS\SysWOW64\WINMM.dll
 (1fc8.3a34): Break instruction exception - code 80000003 (first chance)
 eax=00000000 ebx=00000000 ecx=6fec0000 edx=00000000 esi=77c769ec edi=77c76a68
 eip=77d21e52 esp=00e5f9ac ebp=00e5f9d8 iopl=0         nv up ei pl zr na pe nc
 cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000246
 ntdll!LdrpDoDebuggerBreak+0x2b:
 77d21e52 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
<bu1 `D:\DEVELOPMENT\QT4\_MY__\equipment\test\main.cpp:6`
<!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


Но если не торопится и подождать, то ошибки все-таки вылезут на поверхность:

 *** ERROR: Module load completed but symbols could not be loaded for image00d50000
 *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SysWOW64\ole32.dll - 
 *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SysWOW64\combase.dll - 
 *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SysWOW64\GDI32.dll - 
 *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SysWOW64\gdi32full.dll - 
 *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SysWOW64\WS2_32.dll - 
 *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SysWOW64\OLEAUT32.dll - 
 *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SysWOW64\IMM32.dll - 
 *** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\WINDOWS\SysWOW64\sechost.dll -

Если не ставить точек останова, то программка нормально запускается и нормально закрывается.

На что по-видимому стоит обратить внимание из всего лога:

Файлы с символами локально хранятся по-видимому здесь : C:\Users\p\AppData\Local\Temp\symbolcache
Тут примечательно, что внутри symbolcache есть все каталоги с названиями типа combase.dll и внутри их каталог название которого состоит из хеша, а уже в нем лежит pdb файл типа combase.pdb. pdb файл посмотреть текстовым редактором нельзя, он бинарный.

В интернете по-видимому из ищут здесь: http://msdl.microsoft.com/download/symbols (файлы символов Microsoft для отладки).

Отладчик у нас такой: Microsoft (R) Windows Debugger Version 6.12.0002.633 X86

Ругаться начинает среда примерно так:

*** ERROR: Module load completed but symbols could not be loaded for image00370000
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\SysWOW64\combase.dll -

Что такое image00370000?

ModLoad: 00370000 00379000 image00370000 (00370000 в названии это явно адрес в памяти)
ModLoad: 77480000 77624000 ntdll.dll
....
image00370000 грузится самым первым до ntdll.dll

Для другого проекта название логично меняется например на:
ModLoad: 00cb0000 00d10000 image00cb0000
ModLoad: 77480000 77624000 ntdll.dll
...

Ответ оказывается связан с qmake.exe, который собирали из исходников: Symbol file could not be found, кривой qmake.exe.