使用vscode debug 查看eigen变量的方法

设置成适合人看的格式

在使用eigen库的时候,有时候需要使用调试功能。但是没有设置之前,eigen变量的显示是这样的:不是人眼能看的格式

设置方法:

bash 复制代码
$ mkdir -p ~/gdbExtensions

下载 https://gitlab.com/libeigen/eigen/-/blob/master/debug/gdb/printers.py

https://gitlab.com/libeigen/eigen/-/blob/master/debug/gdb/**init** .py

到~/gdbExtensions

然后执行下面命令:

注意将替换为自己机器的用户名,比如 zyq

bash 复制代码
$ cd ~
$ echo -en "\
python \n\
import sys \n\
sys.path.insert(0, '/home/<USER>/gdbExtensions') \n\
from printers import register_eigen_printers \n\
register_eigen_printers (None) \n\
end\n" >> ~/.gdbinit

~/.gdbinit 是gdb启动时加载的文件,这样gdb启动时就会加载gdbExtensions里面的脚本来处理eigen

设置完后显示的eigen变量是这样的:

怎么改回原始形式

要想按照原始形式显示,只要把.gdbinit 文件mv走就行,或者后面熟悉了gdbinit语法,可以改一改

相关推荐
苏宸啊3 小时前
IPC管道
linux·c++
BestOrNothing_20154 小时前
ROS2 话题通信实战:消息对象、Publisher 发布器与 Subscriber 订阅器保姆级教程
c++·ros2·subscriber·publisher·话题通信
艾iYYY5 小时前
string 类的模拟实现
android·服务器·c语言·c++·算法
为何创造硅基生物5 小时前
C++ virtual void StartNetwork() = 0; // 纯虚:子类必须实现,否则不能 new。
c++
知无不研6 小时前
对套接字的深入理解
linux·服务器·网络·c++·socket·网络套接字
hai3152475437 小时前
FlashAttention C语言(C++)实现(展示版)
c语言·开发语言·c++·人工智能·算法
wuminyu8 小时前
Java锁机制之Java对象重量级锁源码剖析
java·linux·c语言·jvm·c++
郝学胜_神的一滴8 小时前
Qt 高级开发 026:QTabWidget御道,从筑基到化境
c++·qt
apocelipes9 小时前
GNU GCC 多版本函数扩展
c语言·c++·linux编程