【问题标题】:Can't debug in qt-creator, cdb crashes 0xC0000135无法在 qt-creator 中调试,cdb 崩溃 0xC0000135
【发布时间】:2016-10-09 04:12:07
【问题描述】:

当我在 Qt-Creator 中以调试模式运行调试时,它只是说

调试开始。调试完毕。

调试输出很大,但重要的部分如下:

dNOTE: ENGINE RUN AND INFERIOR RUN OK
sRunning.
dState changed from EngineRunRequested(7) to InferiorRunOk(11) [master]
 ModLoad: 00000000`76e40000 00000000`76f5f000   WOW64_IMAGE_SECTION
 ModLoad: 00000000`74fb0000 00000000`750c0000   WOW64_IMAGE_SECTION
 ModLoad: 00000000`76e40000 00000000`76f5f000   NOT_AN_IMAGE
 ModLoad: 00000000`76f60000 00000000`7705a000   NOT_AN_IMAGE
 ModLoad: 00000000`74fb0000 00000000`750c0000   C:\Windows\syswow64\kernel32.dll
 ModLoad: 00000000`758d0000 00000000`75917000   C:\Windows\syswow64\KERNELBASE.dll
 ModLoad: 00000000`647e0000 00000000`64f4c000   C:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\bin\Qt5Widgetsd.dll
 ModLoad: 00000000`755f0000 00000000`75680000   C:\Windows\syswow64\GDI32.dll
 ModLoad: 00000000`74e70000 00000000`74f70000   C:\Windows\syswow64\USER32.dll
 ModLoad: 00000000`75280000 00000000`75320000   C:\Windows\syswow64\ADVAPI32.dll
 ModLoad: 00000000`75930000 00000000`759dc000   C:\Windows\syswow64\msvcrt.dll
 ModLoad: 00000000`76e20000 00000000`76e39000   C:\Windows\SysWOW64\sechost.dll
 ModLoad: 00000000`75320000 00000000`75410000   C:\Windows\syswow64\RPCRT4.dll
 ModLoad: 00000000`74c90000 00000000`74cf0000   C:\Windows\syswow64\SspiCli.dll
 ModLoad: 00000000`74c80000 00000000`74c8c000   C:\Windows\syswow64\CRYPTBASE.dll
 ModLoad: 00000000`758b0000 00000000`758ba000   C:\Windows\syswow64\LPK.dll
 ModLoad: 00000000`74dd0000 00000000`74e6d000   C:\Windows\syswow64\USP10.dll
 ModLoad: 00000000`75e70000 00000000`76aba000   C:\Windows\syswow64\SHELL32.dll
 ModLoad: 00000000`750c0000 00000000`75117000   C:\Windows\syswow64\SHLWAPI.dll
 ModLoad: 00000000`0f7b0000 00000000`0fd12000   C:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\bin\Qt5Guid.dll
 ModLoad: 00000000`50e70000 00000000`50f38000   C:\Windows\SysWOW64\OPENGL32.dll
 ModLoad: 00000000`53480000 00000000`534a2000   C:\Windows\SysWOW64\GLU32.dll
 ModLoad: 00000000`50b10000 00000000`50bf7000   C:\Windows\SysWOW64\DDRAW.dll
 ModLoad: 00000000`53cb0000 00000000`53cb6000   C:\Windows\SysWOW64\DCIMAN32.dll
 ModLoad: 00000000`76bf0000 00000000`76d8d000   C:\Windows\syswow64\SETUPAPI.dll
 ModLoad: 00000000`74d60000 00000000`74d87000   C:\Windows\syswow64\CFGMGR32.dll
 ModLoad: 00000000`75de0000 00000000`75e6f000   C:\Windows\syswow64\OLEAUT32.dll
 ModLoad: 00000000`75410000 00000000`7556c000   C:\Windows\syswow64\ole32.dll
 ModLoad: 00000000`74d90000 00000000`74da2000   C:\Windows\syswow64\DEVOBJ.dll
 ModLoad: 00000000`6dc70000 00000000`6dc83000   C:\Windows\SysWOW64\dwmapi.dll
 ModLoad: 00000000`66ac0000 00000000`67197000   C:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\bin\Qt5Cored.dll
 ModLoad: 00000000`74f70000 00000000`74fa5000   C:\Windows\syswow64\WS2_32.dll
 ModLoad: 00000000`74db0000 00000000`74db6000   C:\Windows\syswow64\NSI.dll
 ModLoad: 00000000`4a900000 00000000`4aa49000   C:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\bin\icuin49.dll
 ModLoad: 00000000`00340000 00000000`00447000   C:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\bin\icuuc49.dll
 ModLoad: 00000000`00760000 00000000`01882000   C:\Qt\Qt5.0.2\5.0.2\msvc2010_opengl\bin\icudt49.dll
 ModLoad: 00000000`61ff0000 00000000`620af000   C:\Windows\SysWOW64\MSVCR100.dll
 ModLoad: 00000000`00510000 00000000`00579000   C:\Windows\SysWOW64\MSVCP100.dll
sProcess exited (3221225781)
eERROR: Process crashed
eERROR: CDB crashed
dNOTE: ENGINE SPONTANEOUS SHUTDOWN
dState changed BY FORCE from InferiorRunOk(11) to EngineShutdownOk(22) [master]
dState changed from EngineShutdownOk(22) to DebuggerFinished(23) [master]
dQUEUE: FINISH DEBUGGER
dNOTE: FINISH DEBUGGER
dHANDLE RUNCONTROL FINISHED
sDebugger finished.

我使用的是 Windows 7,为 OpenGL、MSVC2010、QT-Creator 2.7.0、Windows SDK 7.1、VS2010 编译的 QT-5.02。无论我使用哪个版本的 VC++ 编译器(9.0 vs 10.0),问题都存在。

我已经尝试重新安装 Windows SDK、所有 VC++ 可再发行组件、QT 和 QT-Creator。

无论我使用什么项目,即使是没有 QT 调用的简单 hello world,问题仍然存在。

有人知道怎么回事吗?

【问题讨论】:

    标签: c++ qt visual-studio-2010 qt-creator windbg


    【解决方案1】:
    1. 您能否在没有调试器的情况下运行您的应用程序 - 换句话说,它是否总是崩溃?
    2. 您是否检查了应用程序的所有依赖项? (dependency walker & redistributables)

    我之所以问,是因为有一个类似的 post with your error code 表明您的问题可能是处理在目录或 %PATH% 中找不到的缺失 DLL。

    我只是从头开始设置我的CDB in windows 7,没有任何问题。

    【讨论】:

    • 该应用在发布模式下运行良好。当我运行dependency walker时,我得到以下文件:API-MS-WIN-CORE-COM-L1-1-0.DLL API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL API-MS-WIN-CORE-WINRT-L1-1-0.DLL API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL API-MS-WIN-CORE-WINRT-STRING-L1- 1-0.DLL API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL DCOMP.DLL IESHIMS.DLL 但是,在运行良好的发行版中也缺少这些文件。
    • 另外,dependency walker 没有显示它,但是从资源管理器启动应用程序说我缺少 MSVCP100d.dll,我在 system32 中确实有两个版本(尽管它们是小写的,这有关系吗?)
    • 另外,我已经设置了符号服务器位置,并且我正在本地进行所有调试。
    • (文件)的大小写在 Windows 上无关紧要。依赖walker 可能倾向于显示一些丢失的dll - 这在本网站某处的另一个线程中进行了解释。 MSVCP100d.dll 错误只是因为您没有在 MSVC 环境中运行 - 这与发布模式的工作原理一致。你能从 QtCreator 以调试模式运行应用程序吗(不同于在调试器下运行)?
    • 在调试模式下从 qt-creator 运行但没有调试器(纯绿色箭头),我得到“程序意外完成”。和 -1073741515 的退出代码。使用调试器运行会出现上述错误。我正在测试一个只返回 0 的空程序。
    【解决方案2】:

    我通过将 ICU 添加到路径(对我来说是 \dev\icu4c-51_2-Win64-msvc10\icu\bin64)来解决此问题。

    【讨论】:

      【解决方案3】:

      我得到了相同的日志和相同的错误。我通过将 2 个文件从 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\Debug_NonRedist\x86\Microsoft.VC100.DebugCRT 复制到 exe 可以访问的路径来解决它(在我的场景中,我我在 64 位机器上编译 32 位应用程序,我复制到 QCore5d.dll 所在的文件夹)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多