[英]CDB crashes in Qt project
我要給你呈現的謎語只是讓我驚訝。 有一個用Qt 4.8.2編寫的項目,由MSVC 2010編譯器(32位應用程序)編譯。 它使用lapack線性代數庫以及一些網絡來下載Google地圖並將其呈現給用戶。 我不是代碼的作者:作者為我提供了源代碼以及已編譯的應用程序,我的任務是使代碼適應我的目的。
該應用程序無法在我的Windows 7 Ultimate x64系統上運行。 更具體地說,它可以運行,但是隨后掛起卻沒有顯示GUI,消耗了25%的CPU(即一個內核),而我唯一可以殺死它的方法是通過任務管理器。
當我使用MSVC2010編譯器在Qt Creator中對其進行編譯並在CDB下運行時,它會崩潰; 調試器的清單如下所示。
更重要的是,該應用程序可以在同事的計算機以及“虛擬”框中的同一Win7系統中正常運行。 在客戶端系統中,該應用程序運行,但在主機系統中,它掛斷了! 重新安裝Win7系統無濟於事:在全新的系統上,情況反復發生。
簡單的測試應用程序(什么都不做-僅顯示一個簡單的窗口)正在編譯並運行平穩。 問題僅在於該“問題”應用程序。
sStarting debugger 'CdbEngine' for ABI 'x86-windows-msvc2010-pe-32bit'...
dStart parameters: 'ZModel' mode: 1
dABI: x86-windows-msvc2010-pe-32bit
dExecutable: D:\trunk\build-Debug\ZModel.exe
dDirectory: D:\trunk\build-Debug
dDebugger: D:\Tools\WinDDK\Debuggers\cdb.exe
dProject: D:\trunk\src (built: D:\trunk\src)
dQt: d:\Tools\QtSDK\Desktop\Qt\4.8.1\msvc2010
dQML server: 127.0.0.1:3768
dSysroot:
dDebug Source Loaction:
dSymbol file:
dDumper libraries: d:\Tools\QtSDK\Desktop\Qt\4.8.1\msvc2010\\qtc-debugging-helper\ D:\Tools\QtSDK\QtCreator\qtc-debugging-helper\258168559\ C:\Users\DAN\AppData\Local\Nokia\QtCreator\qtc-debugging-helper\258168559\
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)
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: 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 D:\Tools\WinDDK\Debuggers\cdb.exe -aqtcreatorcdbext.dll -lines -G -c .idle_cmd !qtcreatorcdbext.idle -y symsrv*symsrv.dll*C:\Users\DAN\AppData\Local\Temp\symbolcache*http://msdl.microsoft.com/download/symbols D:\trunk\build-Debug\ZModel.exe
using D:\Tools\QtSDK\QtCreator\lib\qtcreatorcdbext64\qtcreatorcdbext.dll of 22.07.2014 18:43:57.
D:\Tools\WinDDK\Debuggers\cdb.exe running as 4444
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: D:\trunk\build-Debug\ZModel.exe
Symbol search path is: symsrv*symsrv.dll*C:\Users\DAN\AppData\Local\Temp\symbolcache*http://msdl.microsoft.com/download/symbols
Executable search path is:
ModLoad: 00000000`012c0000 00000000`01c74000 ZModel.exe
ModLoad: 00000000`77410000 00000000`775bb000 ntdll.dll
ModLoad: 00000000`775f0000 00000000`77770000 ntdll32.dll
ModLoad: 00000000`73d90000 00000000`73dcf000 C:\Windows\SYSTEM32\wow64.dll
ModLoad: 00000000`73d30000 00000000`73d8c000 C:\Windows\SYSTEM32\wow64win.dll
ModLoad: 00000000`73d20000 00000000`73d28000 C:\Windows\SYSTEM32\wow64cpu.dll
(130c.1300): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak+0x30:
00000000`774c1220 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
<sxn 0x4000001f
<.asm source_line
<!qtcreatorcdbext.pid -t 0
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
Assembly options: source_line
Qt Creator CDB extension version 0.11 (Qt 5 support) 64 bit built Oct 11 2011.
dTaking notice of pid 4876
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
<sxe eh
<sxe ct
<sxe et
<g
dNOTE: ENGINE RUN AND INFERIOR RUN OK
dState changed from EngineRunRequested(7) to InferiorRunOk(11).
ModLoad: 00000000`771f0000 00000000`7730f000 WOW64_IMAGE_SECTION
ModLoad: 00000000`75880000 00000000`75980000 WOW64_IMAGE_SECTION
ModLoad: 00000000`771f0000 00000000`7730f000 NOT_AN_IMAGE
ModLoad: 00000000`77310000 00000000`7740a000 NOT_AN_IMAGE
ModLoad: 00000000`75880000 00000000`75980000 C:\Windows\syswow64\kernel32.dll
ModLoad: 00000000`75450000 00000000`75496000 C:\Windows\syswow64\KERNELBASE.dll
ModLoad: 00000000`6f250000 00000000`6f2c9000 D:\trunk\build-Debug\Solver.dll
ModLoad: 00000000`68e50000 00000000`690c6000 D:\trunk\build-Debug\QtCore4.dll
ModLoad: 00000000`75600000 00000000`75700000 C:\Windows\syswow64\USER32.dll
ModLoad: 00000000`77130000 00000000`771c0000 C:\Windows\syswow64\GDI32.dll
ModLoad: 00000000`75370000 00000000`7537a000 C:\Windows\syswow64\LPK.dll
ModLoad: 00000000`760f0000 00000000`7618d000 C:\Windows\syswow64\USP10.dll
ModLoad: 00000000`75550000 00000000`755fc000 C:\Windows\syswow64\msvcrt.dll
ModLoad: 00000000`76f30000 00000000`76fd0000 C:\Windows\syswow64\ADVAPI32.dll
ModLoad: 00000000`75340000 00000000`75359000 C:\Windows\SysWOW64\sechost.dll
ModLoad: 00000000`75700000 00000000`757f0000 C:\Windows\syswow64\RPCRT4.dll
ModLoad: 00000000`75160000 00000000`751c0000 C:\Windows\syswow64\SspiCli.dll
ModLoad: 00000000`75150000 00000000`7515c000 C:\Windows\syswow64\CRYPTBASE.dll
ModLoad: 00000000`76fd0000 00000000`7712c000 C:\Windows\syswow64\ole32.dll
ModLoad: 00000000`75ec0000 00000000`75ef5000 C:\Windows\syswow64\WS2_32.dll
ModLoad: 00000000`75360000 00000000`75366000 C:\Windows\syswow64\NSI.dll
ModLoad: 00000000`6f1e0000 00000000`6f249000 C:\Windows\SysWOW64\MSVCP100.dll
ModLoad: 00000000`74e30000 00000000`74eef000 C:\Windows\SysWOW64\MSVCR100.dll
ModLoad: 00000000`10000000 00000000`10580000 D:\trunk\build-Debug\lapack_win32_MT.dll
ModLoad: 00000000`00390000 00000000`00453000 D:\trunk\build-Debug\blas_win32_MT.dll
ModLoad: 00000000`76210000 00000000`7623a000 C:\Windows\syswow64\imagehlp.dll
ModLoad: 00000000`70e80000 00000000`72d3f000 D:\trunk\build-Debug\QtWebKitd4.dll
ModLoad: 00000000`68a00000 00000000`68e49000 D:\trunk\build-Debug\QtCored4.dll
ModLoad: 00000000`6f120000 00000000`6f1d7000 C:\Windows\SysWOW64\MSVCP100D.dll
ModLoad: 00000000`691d0000 00000000`69343000 D:\trunk\build-Debug\MSVCR100D.dll
(130c.1300): Unknown exception - code c0000139 (first chance)
s
sException at 0x77671b12, code: 0xc0000139: DLL entry point not found, flags=0x1 (execution cannot be continued) in ntdll32!LdrpSnapThunk
sProcess exited (3221225785)
eProcess crashed
eCDB crashed
dNOTE: ENGINE SPONTANEOUS SHUTDOWN
dState changed BY FORCE from InferiorRunOk(11) to EngineShutdownOk(22).
dState changed from EngineShutdownOk(22) to DebuggerFinished(23).
dQUEUE: FINISH DEBUGGER
dNOTE: FINISH DEBUGGER
dHANDLE RUNCONTROL FINISHED
sDebugger finished.
對此該怎么辦? 如何使應用程序正常工作? 我的想法已經用完了。 由於Win7系統是干凈的-Windows / System32文件夾中沒有Qt dll-沒有要刪除的內容。
0xc0000139:找不到DLL入口點-仔細檢查所有需要的dll是否存在以及正確的類型*調試/發行版,32/64位,等等)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.