调试时直接显示QString的字符值(包含windows和linux)
来源:互联网 发布:c语言graphics 编辑:程序博客网 时间:2024/05/21 21:39
在用Qt进行编程调试的时候,总是要查看Qt各类变量的值,遗憾的是,无论是windows的VisualStudio还是linux上的gdb,对Qt定义的数据类型等支持并不友好。例如,想要看到QString字符创的值,在windows上要在变量窗口点击好几层才能看到,而在linux,用gdb打印的信息根本无法读取。
保存后从新启动VS,再进行调试的时候,当鼠标移动到QString变量的时候,就可以直接显示字符串内容了。
在网上参考了很多方法,终于找到了比较完美的解决方案,但是网上的文档一般仅针对一个操作系统。但是调试Qt的跨平台程序,一般都是要在很多平台上调试,最常用的就是Windows和Linux了,现在就Windows和Linux操作系统上进行调试如何直接 显示QString的值进行分别说明。当然聪明的小伙伴们还可以举一反三,根据自己的需要实现其他Qt类型的显示,或者更改自定义的数据结构的显示。
Windows(测试环境 win7,Qt4, VisualStudi 2010)
打开VS的安装目录,找到Common7\Packages\Debugger下面的autoexp.dat文件,打开->搜索[Visualizer],在下面添加如下:
; Qt4QString{ preview ([$e.d->data,su]) stringview ([$e.d->data,sub]) children ( #( d: $c.d, [size]: $c.d->size, [referenced]: $c.d->ref._q_value ) )}
保存后从新启动VS,再进行调试的时候,当鼠标移动到QString变量的时候,就可以直接显示字符串内容了。
Linux(测试环境:redhat 7.1)
在linux中可以使用gdb的扩展功能,用自定义宏命令的方式实现。宏定义如下:
define printqstring printf "(QString)0x%x (length=%i): \"",&$arg0,$arg0.d->size set $i=0 while $i < $arg0.d->size set $c=$arg0.d->data[$i++] if $c < 32 || $c > 127 printf "\\u0x%04x", $c else printf "%c", (char)$c end end printf "\"\n" end将上述宏定义保存到家目录下的 .gdbinit文件中,每次启动gdb就能够自动加载了,非常友好方便。如图:
阅读全文
0 0
- 调试时直接显示QString的字符值(包含windows和linux)
- VC 调试时查看QString的值
- VS调试Qt的时候只显示QString地址不显示值
- Linux和windows系统直接的文件传输
- 包含中文字符的QString对象转换为python的string对象的方法
- QVector<QString> 显示动态数组里面的元素用QString和char *的转换
- 计算机的中断系统(包含DOS时代和Windows/Linux时代)
- 包含中文的QString 转 char*
- Linux 下 Oracle 用户的密码包含特殊字符时给 sqlplus 和 imp/exp 传递密码参数的处理
- QString包含中文时与char *转换
- IOS中 打印字典、数组时 直接显示中文(而不是显示Unicode字符)
- QString和string互转中文字符
- QString和string互相转换中文字符
- QString和string互转中文字符
- QT:QString 字符串和中文字符编码
- Linux显示包含全部的文件系统
- 如何正确显示包含标签字符的串
- Linux 下如何处理包含空格和特殊字符的文件名
- 归并排序
- flex布局
- 顺序表应用5:有序顺序表归并
- Effective Java中文第四章第19节(个人渣翻)
- Eigen 创建求解稀疏矩阵 保存方便日后使用
- 调试时直接显示QString的字符值(包含windows和linux)
- [人工智能]回溯算法解数独
- getattr
- qt超强精美绘图控件
- MFC——ListControl控件的使用
- 仿去哪网酒店的地图:POI、定位、国际地图、导航、marker及其自定义infowindow
- nodejs实现文件下载功能,防止文本TXT类文件直接打开
- 微博轻量级RPC框架Motan
- git命令大全
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
招租信息
赶集求租信息
智联招工网
招聘信息招聘
招聘 招聘
招聘公司招聘
斯福瑞招聘
投资st股票
股票st条件
st andrews
st股票可以买吗
st宏盛股票
st股票有哪些
st云网股吧
股市st是什么意思
st股多少涨停
st是什么牌子
st roller
st股票摘帽
st皇台股吧
st股票一览表
什么是st股票
st宏盛股吧
股票中st是什么意思
st生化股吧
星st股
st南化股吧
st论坛
st冠福
st垃圾股
st的意思
st股票摘帽条件
st摘牌
st国创
st新亿股吧
st明科股吧
福克斯st评测
st欣龙
天欣泰
欣泰电气
天欣泰血栓心脉宁