• 7713阅读
  • 0回复

[共享]Qt5的VS可视化QString、QByteArray的代码 [复制链接]

上一主题 下一主题
离线呆呆很呆
 
只看楼主 倒序阅读 楼主  发表于: 2012-10-06
关键词: QStringQt5
随着Qt5Beta版横空出世,Qt5正式版也离我们不远了,但是Qt官方虽说放出了Qt5 Visual Studio Add-in 1.2.0 Beta 版,可是却没有对Qt5进行优化,导致调试Qt5是QString显示的是error,或“???”之类的东西
我想这里是因为Qt4和Qt5获得const char*方式不同而引起的 我曾试过编辑VS2010的autoexp.dat 来实现,但是以失败告终
无奈之余,看到了Qt5 Visual Studio Add-in 1.2.0 Beta的一篇回复
[见:http://www.digipedia.pl/usenet/thread/15030/6004/ 2012-09-04 13:52 的一篇回复]
意思就是:
在"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Packages\Debugger\autoexp.dat"中看到[Visualizer] 下面写入以下代码:
  1. QString|*::QString{
  2.     preview    ([(unsigned short*)$e.d + $e.d->offset/2,su])
  3.     stringview ([(unsigned short*)$e.d + $e.d->offset/2,sub])
  4.     children
  5.     (
  6.         #(
  7.         d: $c.d,
  8.         [size]: $c.d->size,
  9.         [referenced]: $c.d->ref.atomic._q_value
  10.         )
  11.     )
  12. }
  13. QByteArray|*::QByteArray{
  14.     preview    ([(char*)$e.d + $e.d->offset,s])
  15.     stringview ([(char*)$e.d + $e.d->offset,sb])
  16.     children
  17.     (
  18.         #(
  19.             d: $c.d,
  20.             [size]: $c.d->size,
  21.             [referenced]: $c.d->ref._q_value
  22.         )
  23.     )
  24. }

这是QString 和 QByteArray的可视化代码(其实Qt4VS-ADDIN还有很多类,不知道各位高人能不能写出)[鉴于上述标签下写有大大的“不要修改”,所以不放心的可以做好备份]
重新调试,可以看到调试窗口下QString、QByteArray可以看到内容了


快速回复
限100 字节
 
上一个 下一个