2013-10-24 1 views
1

Предположим, у моего класса есть член Eigen :: Matrix alpha; Как я могу проверить функцию gdb whihc в своем пространстве. От Eigen i можно получить его адрес, используя alpha.data, и он должен быть сохранен в 100 size_of (double) байтах после этого адреса.Как я могу использовать gdb для проверки того, кто обращается к памяти собственной матрицы?

ответ

1

Watchpoints

Если массив, содержащий ваши данные статичны, GDB должен иметь возможность узнать размер массива, поэтому watch alpha.data должен сказать вам, когда любое значение в изменении массива. Однако, если данные являются указателями, watch alpha.data расскажет вам, когда указатель изменится, а не когда данные в вашем массиве меняются, что не очень полезно. Затем вам нужно вручную указать GDB, чтобы посмотреть регион, занятый вашим массивом: watch (double[100]) *alpha.data.