Сразу пример : работала отладка им вдруг перестала, разбираемся :
.....
ModLoad: 772d0000 77473000 ntdll.dll
ModLoad: 75da0000 75e90000 C:\WINDOWS\SysWOW64\KERNEL32.DLL
ModLoad: 76f40000 77154000 C:\WINDOWS\SysWOW64\KERNELBASE.dll
ModLoad: 12000000 12058000 C:\WINDOWS\SysWOW64\SSLEAY32.dll
ModLoad: 5c040000 5c1b2000 C:\WINDOWS\SysWOW64\MSVCR100D.dll
ModLoad: 11000000 11155000 C:\WINDOWS\SysWOW64\LIBEAY32.dll
ModLoad: 75cd0000 75d33000 C:\WINDOWS\SysWOW64\WS2_32.dll
ModLoad: 5b6c0000 5baf4000 D:\QtSDK1.2.1dll\QtSources\4.8.1\bin\QtCored4.dll
ModLoad: 76bb0000 76c6e000 C:\WINDOWS\SysWOW64\RPCRT4.dll
ModLoad: 75bc0000 75be4000 C:\WINDOWS\SysWOW64\GDI32.dll
ModLoad: 76c70000 76c88000 C:\WINDOWS\SysWOW64\win32u.dll
ModLoad: 771e0000 772bc000 C:\WINDOWS\SysWOW64\gdi32full.dll
ModLoad: 76600000 7667b000 C:\WINDOWS\SysWOW64\msvcp_win.dll
ModLoad: 75570000 75690000 C:\WINDOWS\SysWOW64\ucrtbase.dll
ModLoad: 767f0000 7698c000 C:\WINDOWS\SysWOW64\USER32.dll
ModLoad: 01110000 012ac000 C:\WINDOWS\SysWOW64\USER32.dll
ModLoad: 77160000 771db000 C:\WINDOWS\SysWOW64\ADVAPI32.dll
ModLoad: 76680000 7673f000 C:\WINDOWS\SysWOW64\msvcrt.dll
ModLoad: 764b0000 76593000 C:\WINDOWS\SysWOW64\ole32.dll
ModLoad: 751a0000 75420000 C:\WINDOWS\SysWOW64\combase.dll
ModLoad: 76e90000 76f06000 C:\WINDOWS\SysWOW64\sechost.dll
ModLoad: 5bf80000 5c037000 C:\WINDOWS\SysWOW64\MSVCP100D.dll
ModLoad: 5a8d0000 5b6b7000 D:\QtSDK1.2.1dll\QtSources\4.8.1\bin\QtGuid4.dll
ModLoad: 76740000 767ef000 C:\WINDOWS\SysWOW64\COMDLG32.dll
ModLoad: 75ae0000 75b67000 C:\WINDOWS\SysWOW64\shcore.dll
ModLoad: 75b70000 75bb5000 C:\WINDOWS\SysWOW64\SHLWAPI.dll
ModLoad: 75e90000 76445000 C:\WINDOWS\SysWOW64\SHELL32.dll
ModLoad: 74e80000 75090000 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.1110_none_a8625c1886757984\COMCTL32.dll
ModLoad: 76990000 76a26000 C:\WINDOWS\SysWOW64\OLEAUT32.dll
ModLoad: 75420000 75445000 C:\WINDOWS\SysWOW64\IMM32.dll
ModLoad: 75090000 75102000 C:\WINDOWS\SysWOW64\WINSPOOL.DRV
ModLoad: 74d90000 74db8000 C:\WINDOWS\SysWOW64\WINMM.dll
(56d8.4480): Unknown exception - code c0000139 (first chance)
eПроцесс завершился с ошибкой
eCDB завершился крахом
dNOTE: ENGINE SPONTANEOUS SHUTDOWN
dState changed BY FORCE from EngineSetupRequested(1) to EngineShutdownOk(22).
dState changed from EngineShutdownOk(22) to DebuggerFinished(23).
dQUEUE: FINISH DEBUGGER
dNOTE: FINISH DEBUGGER
dHANDLE RUNCONTROL FINISHED
sОтладчик завершился.
Debugging Exception c0000139 - Entry point not found.
Надо признаться мы не курсе какой отладчик работал до этого нормально - CDB или GDB.... Да бывает и такое , когда отладка работает нормально - не задумываешься как это работает. Но видно по логу , что крах связан с работой именно CDB.
CDB - Console debugger.
Вспоминаем как в нашей системе Windows появляется GDB.
И в то же время другой небольшой проект нормально отлаживается :
ModLoad: 772d0000 77473000 ntdll.dll
ModLoad: 75da0000 75e90000 C:\WINDOWS\SysWOW64\KERNEL32.DLL
ModLoad: 76f40000 77154000 C:\WINDOWS\SysWOW64\KERNELBASE.dll
ModLoad: 64f80000 64f89000 D:\DEVELOPMENT\QT4\_MY__\test_openssl\lib_c_cpp\debug\lib_c_cpp.dll
ModLoad: 5b6c0000 5baf1000 D:\QtSDK1.2.1dll_2\QtSources\4.8.1\lib\QtCored4.dll
ModLoad: 767f0000 7698c000 C:\WINDOWS\SysWOW64\USER32.dll
ModLoad: 76c70000 76c88000 C:\WINDOWS\SysWOW64\win32u.dll
ModLoad: 5c680000 5c7f2000 C:\WINDOWS\SysWOW64\MSVCR100D.dll
ModLoad: 75bc0000 75be4000 C:\WINDOWS\SysWOW64\GDI32.dll
ModLoad: 771e0000 772bc000 C:\WINDOWS\SysWOW64\gdi32full.dll
ModLoad: 76600000 7667b000 C:\WINDOWS\SysWOW64\msvcp_win.dll
ModLoad: 75570000 75690000 C:\WINDOWS\SysWOW64\ucrtbase.dll
ModLoad: 764b0000 76593000 C:\WINDOWS\SysWOW64\ole32.dll
ModLoad: 76bb0000 76c6e000 C:\WINDOWS\SysWOW64\RPCRT4.dll
ModLoad: 751a0000 75420000 C:\WINDOWS\SysWOW64\combase.dll
ModLoad: 77160000 771db000 C:\WINDOWS\SysWOW64\ADVAPI32.dll
ModLoad: 76680000 7673f000 C:\WINDOWS\SysWOW64\msvcrt.dll
ModLoad: 76e90000 76f06000 C:\WINDOWS\SysWOW64\sechost.dll
ModLoad: 75cd0000 75d33000 C:\WINDOWS\SysWOW64\WS2_32.dll
ModLoad: 5c100000 5c1b7000 C:\WINDOWS\SysWOW64\MSVCP100D.dll
(135c.14d8): Break instruction exception - code 80000003 (first chance)
eax=00000000 ebx=00000000 ecx=8f290000 edx=00000000 esi=772e2044 edi=772e260c
eip=77381b72 esp=006ff4dc ebp=006ff508 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:
77381b72 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__\test_openssl\test_lib\main.cpp:14`
<!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 0x19d5e4 (#1), at 0x181035, module: 'test_c_file'
All breakpoints have been resolved.
Assembly options: source_line
Qt Creator CDB extension version 0.11 (Qt 5 support) 32 bit built Jan 26 2012.
dПолучено уведомление от pid 4956
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: 75420000 75445000 C:\WINDOWS\SysWOW64\IMM32.DLL
Breakpoint 1 hit
eax=006ff9c8 ebx=004d4000 ecx=00f958c8 edx=00000001 esi=00181250 edi=00181250
eip=00181035 esp=006ff9a4 ebp=006ff9d4 iopl=0 nv up ei ng nz na pe nc
cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000286
> 14: QCoreApplication a(argc, argv);
test_c_file!main 0x25:
14 00181035 6801080401 push 1040801h
sОстановлено на точке останова 1 (1), поток 0.
dNOTE: INFERIOR SPONTANEOUS STOP
dState changed from InferiorRunOk(11) to InferiorStopOk(14).
<!qtcreatorcdbext.locals -t 2 -D -W 0
Причина краха (в первом случае) установлена : оказывается правили файл qssl.h (исходники openssl 1.0.2 собирали вместе и исходниками Qt 4.8.1 в одном проекте src.pro). Так вот еще подключались заголовочные файлы из каталога openssl /openssl/ssl.h (где не подправляли).
Очень позновательно посмотреть откуда грузятся библиотеки в режиме отладки (окно журнал отладки ) . Вот небольшой пример :
ModLoad: 7ade0000 7bbc7000 D:\QtSDK1.2.1dll_2\QtSources\4.8.1\lib\QtGuid4.dll
ModLoad: 11000000 11155000 C:\WINDOWS\SysWOW64\LIBEAY32.dll
QtGuid4.dll грузится правильно (библиотеки Qt собирались в D:\QtSDK1.2.1dll_2\QtSources\4.8.1\lib). Но LIBEAY32.dll грузится из C:\WINDOWS\SysWOW64, что не правильно , так как мы сбираем LIBEAY32.dll сами в каталог D:\QtSDK1.2.1dll_2\QtSources\4.8.1\lib.
Где настраиваются ключи компиляции и сборки.