一维数组:
可以在watch内添加表达式:*(type(*)[size])vectorName
例如:想查看vector<int> nums(6), 可以添加*(int(*)[6])nums。
上面是一维数组情况:
((double (*)[1000])&U[1000])
表示从下标1000开始访问1000-2000的,也是一维数组
二维数组情况:
(亲测有效,和生成的文本一致下标10的时候)
# 查看U[0]到U[499]行的所有数据(每行3个double,共1500个元素)注意是下标0-500,不是0-1500,因为一个下标对应三个元素。
((double (*)[3])&U[0])[0]@1500
试了另外两种方法本人不太行:
方法二:当上面监视器无法正常使用时:就是无法显示值
在恩终端克隆仓库,执行setup.sh
脚本,然后在vscode中重新debug即可。
git clone git@github.com:fandesfyf/EigenGdb.git
cd EigenGdb
./setup.sh
该插件鼠标悬浮和监视台都会直接显示变量的值。
参考链接:
【工具】——VSCODE调试C++时无法显示Vector,map等容器的值_windows vscode调试c++无法展开vector内容-CSDN博客
https://github.com/fandesfyf/EigenGdb?tab=readme-ov-file