首页 > 代码库 > qt---cdb(Microsoft Console Debugger)调试

qt---cdb(Microsoft Console Debugger)调试

支持的调试器

windows系统下主要的调试器:

  • CDB ,只能调试用户程序,只有控制台界面,以命令行形式工作
  • NTSD, 只能调试用户程序,只有控制台界面,以命令行形式工作
  • KD,主要用于内核调试,有时候也用于用户态调试,只有控制台界面,以命令行形式工作
  • WinDbg,在用户态、内核态下都能够发挥调试功能,采用了可视化的用户界面
PlatformCompilerNative Debugger
LinuxGCC/ICCGDB, LLDB (experimental)
UnixGCC/ICCGDB
macOSGCC/ClangLLDB,FSF GDB(experimental)
Windows/MinGWGCCGDB
Windows/MSVCMicrosoft Visual C++ CompilerDebugging 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 > DebuggerCDB 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)调试