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的帮助文档.觉得对初次调试托管代码,非常有用,故粘贴至此. ========================================================= ...
随机推荐
- WPF 禁用实时触摸
原文:WPF 禁用实时触摸 微软想把 WPF 作为 win7 的触摸好用的框架,所以微软做了很多特殊的兼容.为了获得真实的触摸消息,微软提供了 OnStylusDown, OnStylusUp, 和 ...
- postman VS restlet client基本使用
postman与restlet都是使用的google浏览器的插件(出不去自行解决,you get!),此两款软件的强大这里就不在赘述了,postman的网上说明很多,restlet的中文配置很少了.这 ...
- 关于easyui-accordion的添加以及显示隐藏菜单的使用
<script type="text/javascript"> $(function() { leftMenus(); }); function leftMenus() ...
- matlab 矢量化编程(一)—— 计算 AUC
AUC = sum( (Y(2:end)+Y(1:end-1))/2 .* (X(2:end) - X(1:end-1)) X 和 Y 均是向量: Y(2:end) - Y(1:end-1),是 Y( ...
- python 教程 第九章、 类与面向对象
第九章. 类与面向对象 1) 类 基本类/超类/父类被导出类或子类继承. Inheritance继承 Inheritance is based on attribute lookup in Py ...
- Qt编程中QDiaog的ESC键(按下Esc键会默认调用reject()方法)
最近使用QDialog时,按了下Esc键,导致QDialog被关闭,而后续的数据处理出现了问题.原来在QDialog中按下Esc键会默认调用reject()方法而不是closeEvent(QClose ...
- VC绘制控件如何防止闪烁
理论上不管什么控件都适用,方法如下: 新建一个MFC类,继承原来的控件类型,对于VC自动生成的类进行如下改动: 首先覆盖 OnEraseBkgnd() 防止擦除时填涂背景: BOOL CXXXCtrl ...
- VisualSVN-5.1.5补丁原创发布
VisualSVN-5.1.5补丁原创发布 VisualSVN-5.1.5官方安装包.rar VisualSVN-5.1.5Patch.rar
- IDEA 问题 & 解决
# 问题 Error: java: Compilation failed: internal java compiler error # 解决 http://blog.csdn.net/u011275 ...
- Android之运行时相机权限和联系人权限获取
原文:Android之运行时相机权限和联系人权限获取 本文链接:http://blog.csdn.net/qq_16628781/article/details/61623502 Android之运行 ...