qt---cdb(Microsoft Console Debugger)调试
支持的调试器
windows系统下主要的调试器:
- CDB ,只能调试用户程序,只有控制台界面,以命令行形式工作
- NTSD, 只能调试用户程序,只有控制台界面,以命令行形式工作
- KD,主要用于内核调试,有时候也用于用户态调试,只有控制台界面,以命令行形式工作
- WinDbg,在用户态、内核态下都能够发挥调试功能,采用了可视化的用户界面
| Platform | Compiler | Native Debugger |
|---|---|---|
| Linux | GCC/ICC | GDB, LLDB (experimental) |
| Unix | GCC/ICC | GDB |
| macOS | GCC/Clang | LLDB,FSF GDB(experimental) |
| Windows/MinGW | GCC | GDB |
| Windows/MSVC | Microsoft Visual C++ Compiler | Debugging Tools for Windows/CDB |
在qt的官方文档上,写明了各个平台上的qtcreator支持的编译器以及对应调试器。如windows平台上面MinGW版本的qtcreator就支持GDB调试器。而MSVC版本的qtcreator默认是没有调试器的,需要自己去安装并设置好调试器(CDB)。
下载和安装
下载地址:https://msdn.microsoft.com/zh-cn/library/windows/hardware/ff551063

安装分为在线安装和离线安装,离线安装可以先选择将安装包下载下来,然后再安装。独立安装只选择Debugging Tools for Windows即可。
QtCreator中配置CDB
方式一: 手动配置
- 打开
Tools>Options>Debugger>CDB Paths - 在Symbol Paths面板中, 选择
Insert - Select the directory where you want to store the cached information. Use a subfolder in a temporary directory, such as
C:\temp\symbolcache. - Select
OK.
方式二:重启QtCreator,自动检测,然后手动选择调试器

调试实践

可以很清晰的看到变量的值变化,可以单步调试,打断点等等。
扩展
qt内存泄露检查:
- Linux ,Mac OS X : Valgrind
- Windows: Visual Leak Detector for Visual C++ 2008-2015 (VLD, Open-source)
参考
https://wiki.qt.io/Profiling_and_Memory_Checking_Tools
http://www.voidcn.com/blog/u011012932/article/p-6231451.html
https://msdn.microsoft.com/zh-cn/library/windows/hardware/hh406277
https://doc.qt.io/qtcreator/creator-debugger-engines.html
http://blog.csdn.net/FreeApe/article/details/52976704
qt---cdb(Microsoft Console Debugger)调试的更多相关文章
- 教你50招提升ASP.NET性能(三):使用Microsoft的PDBs调试和分析外部的程序集和库
(3)Use Microsoft’s PDBs to debug or profile external assemblies or libraries 招数3: 使用Microsoft的PDBs调试 ...
- Microsoft Visual Studio调试监视器(MSVSMON.EXE)未能启动
在启动VS2010项目时,遇到如图所示"Microsoft Visual Studio调试监视器(MSVSMON.EXE)未能启动"的问题. 原因是VS2010安装路径(我的是D: ...
- Qt入门(10)——调试技术
命令行参数当你运行Qt程序时,你可以指定几个命令行参数来帮助你调试.-nograb 应用程序不再捕获鼠标或者键盘.当程序在Linux下运行在gdb调试器中时这个选项是默认的.-dograb 忽略任何隐 ...
- 使用Qt Creator进行linux远程调试
序言 考虑到程序员在无桌面Linux的环境下编写C/C++程序,如果使用原生的Vim编辑和单步断点调试比较麻烦,不利于新手使用,所以笔者尝试使用Qt实现两台Linux电脑远程部署和调试.即程序员在调试 ...
- Qt 使用#define+qDebug()输出调试信息
/******************************************************************************************* * Qt 使用 ...
- How to configure CDB in Qt Creator(使用VC调试器)
I was having the same problems too, and finally figured out how to solve this. Styne666 gave me a hi ...
- Qt在Windows上的调试器CDB安装与配置
如果安装Qt时使用的是Visual Studio的预编译版,那么很有可能就会缺少调试器(Debugger),而使用MSVC的Qt对应的原生调试器是CDB(对应MinGW的Qt使用GDB调试器).本文介 ...
- webpack打包去掉console.log打印与debugger调试
如图,找到build/webpack.prod.conf.js 在 UglifyJsPlugin 插件下添加下列代码 drop_debugger: true, drop_console: true
- 使用Windows Debugger调试托管代码----引用自官方帮助文档
以下文字引用在Windbg的帮助文档.觉得对初次调试托管代码,非常有用,故粘贴至此. ========================================================= ...
随机推荐
- Java数据类型转换问题
基本数据类型 整数型 byte --- 字节型 --- 1个字节 --- -27~27-1 -> -128~127 byte b1 = 25; byte b2 = 127; short --- ...
- 调用cordova相关插件进行消息推送(通知栏提醒、响铃、震动)
原文:调用cordova相关插件进行消息推送(通知栏提醒.响铃.震动) 版权声明:本文为博主原创文章,转载须注明出处,博客地址:https://blog.csdn.net/wx13227855087 ...
- List<Map<String, String>> 开启 Map<String, List<String>>
将List变成Map结构体,下面的文字是没有水平! 写作方法传送前土壤很长一段时间.我不知道有没有好的解决办法.我们也希望提供! Map<String, String> map1 = ne ...
- cocos2d-x创建第一个项目
#include "AppDelegate.h" #include "HelloWorldScene.h" USING_NS_CC; AppDelegate:: ...
- Matlab Tricks(十五) —— 圆的正确画法
使用参数方程, phi = 0:0.01:2*pi; x = cos(phi); y = sin(phi); axis equal plot(x, y) 根据参数方程,显然,圆心在 (0, 0),半径 ...
- Method for browsing internet of things and apparatus using the same
A method for browsing Internet of things (IoT) and an apparatus using the same are provided. In the ...
- SQL2008错误:当 MUST_CHANGE 为 ON (开)时,不能将 CHECK_POLICY 和 CHECK_EXPIRATION 选项设为 OFF (关)。
假设出现这样的情况,第一个选择是: 在数据库用户管理中去掉了"强制password过期"! 假设把"强制实施password策略"的勾也去掉了,出现例如以下错误 ...
- 分布式高级(十三)Docker Container之间的数据共享
sudo docker run -it -v /usr/lib:/usr/lib/dbdata --name dbcontainer-192.168.1.184 ubuntu:14.04 sudo d ...
- ASP.NET Core 视图 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 视图 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 视图 花了几章节,终于把 ASP.NET Core MVC 中的 C 控 ...
- SecureCRT循环检查设备状态
1: #$language = "VBScript" 2: #$interface = "1.0" 3: 4: ' This automatically gen ...