I am using the Eigen C++ library downloadable from http://eigen.tuxfamily.org/. This is a C++ library for easier handling of Matrices and Arrays. I use g++ compiler and gdb for debugging. However, I found that I am unable to print the content of a Matrix (provided by Eigen) while using gdb.
Using GDB with Eigen C++ library
You have to install a gdb extension that you can find in eigen/debug/gdb/.
The comment at the beginning of the file explains how to install it.
Is there something similar for lldb on mac os x? –
Hypogastrium
I'm not aware of lldb script yet, but it should be difficult to adapt the gdb one to lldb. –
Vociferous
link in the answer is dead –
Ape
Can you explain how to install this python file? –
Profit
It's explained in the file itself! –
Vociferous
I have installed it but it's unclear to me how to use it. Could you provide any info on that? I'm using the eclipse debugger btw –
Calcariferous
One trick you can use is the .data() member, it gives you a pointer to the raw array that contains the data. With that you can print it in GDB like so:
print *X.data()@Length_X
where X is the eigen variable and Length_X is the product of its rows and columns.
You have to install a gdb extension that you can find in eigen/debug/gdb/.
The comment at the beginning of the file explains how to install it.
Is there something similar for lldb on mac os x? –
Hypogastrium
I'm not aware of lldb script yet, but it should be difficult to adapt the gdb one to lldb. –
Vociferous
link in the answer is dead –
Ape
Can you explain how to install this python file? –
Profit
It's explained in the file itself! –
Vociferous
I have installed it but it's unclear to me how to use it. Could you provide any info on that? I'm using the eclipse debugger btw –
Calcariferous
There is a github project specifically for adding eigen printing support to GDB.
It appears to be based on the code linked in this answer.
© 2022 - 2024 — McMap. All rights reserved.