1、gdb中无法直接打印出QString的原始字符串,可以通过自定义gdb函数方式打印出来,网上能搜出来的都已经过时了,不适应最新的QString内存结构,这里提供一个最新的(for Qt5): define pqs printf "(QString)0x%x (length=%i, offset=%i, ref=%x): "",&$arg0,$arg0.d->size,$arg0.d->offset,&$arg0.d->ref set $i=0 set $off=$arg0.d->offset set $base=(void*)(&$arg0.d->ref) + $off while $i < $arg0.d->size set $c=((short*)$base)[$i++] if $c < 32 || $c > 127 printf "\u0x%04x", $c else printf "%c", (char)$c end end printf "" " end 2、将上面内容存在~/.gdbinit 文件中, 重启gdb或者执行在gdb中执行source ~/.gdbinit。 3、使用方式: 在需要打印QString的地方执行 pqs xxx, xxx为QString的变量名。 (gdb) pqs path (QString)0xffffb348 (length=9, offset=24, ref=210c0e0): "Shortcuts"