我如何使用gdb来检查谁访问特征矩阵的内存?

时间:2013-10-24 16:57:11

标签: memory gdb eigen

假设我的班级有一个成员Eigen :: Matrix alpha; 我如何检查gdb whihc函数在其空间中写入。 从Eigen我可以使用alpha.data得到它的地址,它应该存储在这个地址后面的100个size_of(双)字节。

1 个答案:

答案 0 :(得分:1)

Watchpoints

如果包含数据的数组是静态的,GDB应该能够找出数组的大小,因此只要数组中的任何值发生变化,watch alpha.data就会告诉您。但是,如果数据是指针,watch alpha.data将告诉您指针何时更改,而不是数组中的数据更改时,这不是很有用。然后,您需要手动告诉GDB观察阵列占用的区域:watch (double[100]) *alpha.data