qt creator debug无法调试 进入 qt源码

2023-11-17

qt creator无法调试qt源码的问题。(如果自己写的代码无法调试请移步这里

 

qt下载地址:
https://download.qt.io/archive/qt
https://download.qt.io/new_archive/qt
正常来讲,在qt安装的时候,可以选择安装source和对应编译器的qt库相关的dll文件(我使用的是msvc2015或msvc2017)。如果发现有组建未安装可以重新进行一次安装过程,双击qt-opensource-windows-x86-5.11.0.exe程序。下图是qt安装程序界面,可知qt-opensource-windows-x86-5.11.0.exe中默认不含有qt库相关的dll对应的dbg文件。需要从其他源下载。没有正确版本的qt库相关的dll对应的dbg文件就无法调试进入qt的源码中!!!

下图是通过运行D:\Qt\Qt5.12.0\MaintenanceTool.exe后,设置源,然后下载对应的dbg文件。
源的网址为:

https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/ 

类似的源网址还有:
https://mirrors.aliyun.com/qt 
https://mirrors.sjtug.sjtu.edu.cn/qt/ 
https://mirrors.ustc.edu.cn/qtproject/ 
国内源集合_Tony+的博客-CSDN博客_国内源

我的qt版本是qt5.12.0,我所添加的源网址为如下:

https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/tools_mingw/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5120/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/tools_qtcreator/
https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5120_src_doc_examples/

如果还需要其他的组件或工具比如openssl、qtcreator等等都可以按上面的网址方式组装,当然还可以用aliyun的或163的相关源,源中包含了qt debug相关的,所以可以看到qt debug information files 选项,勾选后就能主动下载对应版本的qt相关dll所对应的dbg文件了。

下载还dbg文件后,可以看到Qt5.11.0\5.11.0\msvc2017_64\bin 中每一个dll都有一个pdb。

默认创建的简单工程,在qtcreater设置好工具->选项->调试器->概要->添加qt源码后,

就能进入源码的调试。

有的版本的qt在qt官网提供了相应的pdb文件,但有的版本需要从其他源下载。比如qt5.11.0在https://download.qt.io/new_archive/qt中可以直接下载到pdb文件。

选择你当前qt对应版本的pdb压缩包,并从中选择你当前developkit 对应的编译器的pdb,复制拷贝到对应的qt安装路径下。成功后会pdb和dll应该是成对出现的 )

后来发现尝试设置DESTDIR = ../bin1

换一个新的路径后又能调试进去了。对比了下,惊奇发现原来路径中有我之前拷贝的该版本的Qt*d.dll,但是对应的dll没有拷贝Qt*d.pdb。 

解决方案,将那些DESTDIR中 dll和pdb删掉,或者将对应的pdb和dll文件同时拷贝过来。publish的时候 再将pdb删除。

qt creator源码地址:https://download.qt.io/archive/qtcreator

Qt错误: 程序数据库管理器不匹配 请检查安装

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qt creator debug无法调试 进入 qt源码 的相关文章

  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • OpenGL缓冲区更新[重复]

    这个问题在这里已经有答案了 目前我正在编写一个模拟水的程序 以下是我所做的步骤 创建水面 平面 创建VAO 创建顶点缓冲区对象 在其中存储法线和顶点 将指针绑定到此 VBO 创建索引缓冲区对象 然后我使用 glDrawElements 渲染
  • 为什么在 C++ 中声明枚举时使用 typedef?

    我已经很多年没有写过任何 C 了 现在我正试图重新开始 然后我遇到了这个并考虑放弃 typedef enum TokenType blah1 0x00000000 blah2 0X01000000 blah3 0X02000000 Toke
  • C++中的类要具备什么条件才能成为容器?

    我是 C 编程新手 偶然发现了这个术语containers举例如下vector deque map etc 一个企业的最低要求应该是什么class应该满足被称为container in C 我将从 范围 这个概念开始 Range 只有两个方
  • 如何查明 .exe 是否正在 C++ 中运行?

    给定进程名称 例如 程序 exe C 标准库没有这样的支持 您需要一个操作系统 API 来执行此操作 如果这是 Windows 那么您将使用 CreateToolhelp32Snapshot 然后使用 Process32First 和 Pr
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • make_shared<>() 中的 WKWYL 优化是否会给某些多线程应用程序带来惩罚?

    前几天我偶然看到这个非常有趣的演示 http channel9 msdn com Events GoingNative GoingNative 2012 STL11 Magic Secrets作者 Stephan T Lavavej 其中提
  • C 类型命名约定,_t 或 ALLCAPS

    我一直想知道是否有任何命名约定 例如何时对类型使用全部大写以及何时追加 t 什么时候不使用任何东西 我知道当时 K R 发布了各种有关如何使用 C 的文档 但我找不到任何相关内容 在 C 标准库类型中 t看起来漂亮占主导地位 time t
  • 名称查找、实例化点 (POI) 和基本类型

    以下代码针对 X 进行编译 但不适用于 double struct X void foo double void foo X namespace NN struct A void foo A foo double error foo not
  • 检测 TextBox 中的 Tab 键按下

    I am trying to detect the Tab key press in a TextBox I know that the Tab key does not trigger the KeyDown KeyUp or the K
  • 编写具有多种类型的泛型扩展方法时的类型推断问题

    我正在为 IEnumerable 编写一个通用扩展方法 用于将对象列表映射到另一个映射对象列表 这就是我希望该方法的工作方式 IList
  • 从点云检测平面集

    我有一组点云 我想测试3D房间中是否有角落 所以我想讨论一下我的方法 以及在速度方面是否有更好的方法 因为我想在手机上测试它 我将尝试使用霍夫变换来检测线 然后我将尝试查看是否有三条线相交 并且它们也形成了两个相交的平面 如果点云数据来自深
  • 如果在代码中添加元素,“FindName”将不起作用

    在 WPF 应用程序中 如果在 XAML 中声明 ContentControl
  • 在 mvc4 中创建通用 mvc 视图

    我以前也提过类似的问题 没有得到答案 如何创建一个通用的 mvc4 视图 该视图可以显示传递给它的模型列表或单个模型 模型可以是个人 组织或团体 无论传递给它的是什么 如果您正在寻找类似的东西 model MyViewModel
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 如何调用与现有方法同名的扩展方法? [复制]

    这个问题在这里已经有答案了 我有这样的代码 public class TestA public string ColA get set public string ColB get set public string ColC get se
  • 值和类型的简洁双向静态 1:1 映射

    我将从我想象如何使用我想要创建的代码开始 它不必完全像这样 但它是我在标题中所说的 简洁 的一个很好的例子 就我而言 它是将类型映射到相关的枚举值 struct bar foo
  • 如何知道 HTTP 请求标头值是否存在

    我确信这很简单 但是却让我感到厌烦 我在 Web 应用程序中使用了一个组件 它在 Web 请求期间通过添加标头 XYZComponent true 来标识自身 我遇到的问题是 如何在视图中检查此组件 以下内容不起作用 if Request
  • IDisposable 的显式实现

    虽然有很多关于IDisposable在 SO 上找到 我还没有找到答案 我通常遵循这样的做法 当我的一个班级拥有一个IDisposable对象然后它也实现IDisposable并打电话Dispose在拥有的对象上 然而最近我遇到了一个类 它

随机推荐