VS2010调试Qt 5


Qt 4 在安装的Qt官方提供的binay package和visual studio add-in,之后就可以方便的直接调试,在调试的时候可以很容易跟踪进源代码。
但是,装完了Qt 5之后,发现没有办法直接调试了。这样,对于初学者,要花几个小时去编译,挺麻烦的。而且,就算周围有人做了编译,只要目录不一致,也没有办法使用。


问题1:.pdb文件和.dll文件没有在同一个目录下。VS2010调试调用的是msvc2010/bin下面的dll,但是pdb在msvc2010/lib下面。
解决方法有两个:
(a) 把.pdb从lib下面拷贝到bin中。
(b) 修改Visual studio的配置,指定符号文件路径。
  • 向符号文件(.pdb 或 .dbg)位置列表添加路径名
  • 在“工具/Tools”菜单上选择“选项/Options”。
  • 在“选项/Options ”对话框中,单击“调试/Debugging”节点将其打开。
  • 在“调试/Debugging”下,选择“符号/Symbols”类别。
  • 在“符号/Symbols”页上有一个显示“符号文件 (.pdb) 位置/Symbol file (.pdb) locations”的框。该框上方有四个图标。单击文件夹图标,可编辑文本即出现在“符号文件 (.pdb) 位置/Symbol file (.pdb) locations”框中。
  • 编辑文本以添加新路径。
  • 确保“只在手动加载符号时搜索上述位置/Search the above locations only when symbols are loaded manually”未被选中,除非在调试时要手动加载符号。
* 这个问题相信在以后的qt升级中会被解决。


问题2:编译时候的原始目录是Q:\qt5_workdir\w\s,但是安装完的目录是C:\Qt\Qt5.0.1\5.0.1\Src。这样,debug跟踪找不到对应的代码目录。研究了一下Widows,发现微软提供了两个命令行Subst/Mklink可以帮助解决这个问题。

1)创建一个目录树

mkdir C:\QTFake\qt5_workdir\w
C:\QtFake可以是机器中任何一个目录,将来会把这个目录映射成一个新的驱动器。里面的目录结构要和原来编译的结构一致,只留下最后一级目录节点。

2)创建一个link,关联到实际的代码目录
mklink /J C:\QTFake\qt5_workdir\w\s C:\Qt\Qt5.0.1\5.0.1\Src

3)把实际目录映射成一个虚拟驱动器Q

subst Q: C:\QtFork

这个命令在Windows重新启动之后会失效。所以需要写到一个bat文件中,加到windows的启动组中,每次启动让他自动执行。


做完这些之后,在Vs2010中调试Qt 5的程序,就可以方便的跟踪进Qt的源代码了。

你可能感兴趣的:(C/C++)