利用VS调试Qt程序,通常情况下无法查看QString等Qt内置类型的值,只能够利用QDebug进行输出显示,但是这样引起的问题就是每次调试的时候都需要重新编译,当然这是不包括自己编写库的情况,下面来介绍另外一种方式可以让利用VS在调试Qt程序的时候直接像查看C++内置类型(例如int)一样进行查看值。
1.打开VS的安装目录,找到Common7\Packages\Debugger下面的autoexp.dat文件,打开->搜索[Visualizer],在下面添加
;Qt4
QString{
preview ([$e.d->data,su])
stringview ([$e.d->data,sub])
children
(
#(
d: $c.d,
[size]: $c.d->size,
[referenced]: $c.d->ref._q_value
)
)
}
;Qt5
QString|*::QString{
preview ([(unsigned short*)$e.d + $e.d->offset/2,su])
stringview ([(unsigned short*)$e.d + $e.d->offset/2,sub])
children
(
#(
d: $c.d,
[size]: $c.d->size,
[referenced]: $c.d->ref.atomic._q_value
)
)
}
上面只增加了QString,其它类型添加方式基本一致。
2.上面修改完还没有生效,这是只需要重启VS,选择 工具->选项->调试->编辑并继续,选中其中的 启用本机“编辑并继续”,点击确定,即可生效。