使用GDB调试Eigen C++库

21

我正在使用从http://eigen.tuxfamily.org/下载的Eigen C++库。这是一个用于更轻松处理矩阵和数组的C++库。我使用g++编译器和gdb进行调试。但是,我发现在使用gdb时无法打印Eigen提供的矩阵内容。

3个回答

27

你可以使用一个技巧,即使用.data()成员,它会给你一个指向包含数据的原始数组的指针。有了这个指针,你可以在GDB中像这样打印它:

一个技巧是使用 .data() 成员,它会给您一个指向包含数据的原始数组的指针。使用该指针,您可以像下面这样在GDB中打印它:

print *X.data()@Length_X

其中X是特征变量,Length_X是其行和列的乘积。


25

您需要安装一个 gdb 扩展,可以在 eigen/debug/gdb/ 中找到。

文件开头的注释中有安装说明。


在Mac OS X上是否有类似的lldb工具? - Alec Jacobson
我还不了解lldb脚本,但是将gdb脚本适应到lldb上应该不难。 - ggael
链接已失效。 - chutsu
1
你能解释一下如何安装这个Python文件吗? - user650261
这在文件本身中有解释! - ggael
2
我已经安装了它,但我不清楚如何使用它。你能提供一些相关信息吗?顺便说一下,我正在使用Eclipse调试器。 - C. Binair

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接