假设我的班级有一个成员Eigen :: Matrix alpha; 我如何检查gdb whihc函数在其空间中写入。 从Eigen我可以使用alpha.data得到它的地址,它应该存储在这个地址后面的100个size_of(双)字节。
答案 0 :(得分:1)
如果包含数据的数组是静态的,GDB应该能够找出数组的大小,因此只要数组中的任何值发生变化,watch alpha.data
就会告诉您。但是,如果数据是指针,watch alpha.data
将告诉您指针何时更改,而不是数组中的数据更改时,这不是很有用。然后,您需要手动告诉GDB观察阵列占用的区域:watch (double[100]) *alpha.data
。