使用Eclipse CDT调试stl变量时,我们关注的变量内容往往需要查看好几层的变量后才能看到,非常的不直观。这里提供一种更优雅地打印stl变量的方法,核心原理是利用python对stl变量的内容进行加工处理,并输出更加直观的变量内容。步骤如下:
1、下载必要的python库:
$ cd /home/qpzhou
$ svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python
2、新建一个gdb命令文件:
$ subl /home/qpzhou/.gdbinit
3、内容如下:
python
import sys
sys.path.insert(0, '/home/qpzhou/python/')
from libstdcxx.v6.printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
4、Eclipse CDT中设置gdb命令文件路径:设置完成后的效果如下:
最后弄个压缩包,直接解压后设置CDT即可:eclipse-cdt-pretty-printing.zip。
参考:https://stackoverflow.com/questions/56585630/enable-pretty-printing-in-eclipse-c