在 VSCode 中调试 Eigen

ign*_*cio 7 debugging eigen visual-studio-code vscode-debugger

在调试过程中,我希望能够访问特征矩阵和向量值。似乎一旦我有了一个.natvis文件,就可以创建一个 C++ 对象的自定义视图这里有一个.natvisEigen 文件,但是我不知道如何将它与 VSCode 集成。我还尝试了gdb 扩展,但没有成功。

当前调试器视图

我怎样才能做到这一点?或者我还有什么其他解决方案?

Sum*_*Dey 3

GDB扩展

它是基本的,但支持固定大小和动态大小矩阵,并且应该足以满足普通用例。结果:期望在 VS Code 上查看特征矩阵,作为此处的示例


设置(Linux)

  1. 复制/创建所需文件:
wget -P ~/gdbExtensions/ "https://bitbucket.org/eigen/eigen/raw/default/debug/gdb/printers.py"
touch ~/gdbExtensions/__init__.py
Run Code Online (Sandbox Code Playgroud)
  1. 添加扩展名.gdbinit(替换<USER>为用户名;基本上提供 的绝对路径~/gdbExtensions):
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
Run Code Online (Sandbox Code Playgroud)

上述信息可在文件文档中找到。

  • 以上链接不再有效。gdb 调试 `printers.py` 可以在这里找到:https://gitlab.com/libeigen/eigen/-/tree/master/debug/gdb。另请参阅问题:/sf/ask/1755982581/。 (3认同)