Я пишу некоторый код, который использует класс std::vector
для хранения объектов определенного пользователем класса. Для отладки мне нужно следить за несколькими конкретными переменными-членами этого класса. С этой целью я перешел к представлению переменных в моей перспективе отладчика и поместил соответствующие переменные-члены в наблюдение. Однако в представлении выражений я получил переменные, которые выглядели примерно так:
((((((class std::_Vector_base >::_Vector_impl_data) ((((class std::_Vector_base >) ((baseExpression).baseExpression)))._M_impl)))._M_start))->expressionPtr)
Само собой разумеется, это довольно раздражает, чтобы смотреть на.
Я попытался отредактировать имена переменных в столбце «выражение» в представлении выражений, однако, казалось, что вся переменная была удалена из окна просмотра. Например, я бы попытался установить вышеприведенное имя просто «expressionPtr» только для того, чтобы его встретили следующие ошибки:
Multiple errors reported.
1) Failed to execute MI command:
-var-create - * expressionPtr
Error message from debugger back end:
-var-create: unable to create variable object
2) Unable to create variable object
3) Failed to execute MI command:
-data-evaluate-expression expressionPtr
Error message from debugger back end:
No symbol "expressionPtr" in current context.
4) Failed to execute MI command:
-var-create - * expressionPtr
Error message from debugger back end:
-var-create: unable to create variable object
Есть ли способ назначить уникальные идентификаторы переменным-членам во время отладки, чтобы сделать это немного проще для глаз? Кроме того, поскольку векторный класс будет содержать неопределенное количество объектов во время выполнения, я также хотел бы отслеживать переменные-члены каждого объекта. Например, рассмотрим следующий код:
class Foo
{
public:
int a_var;
int b_var;
};
int main ()
{
Foo a;
Foo b;
//some code to work with Foo::a_var and Foo::b_var
}
Я бы хотел отслеживать переменные-члены как a
, так и b
по мере их выделения.
Некоторая помощь будет по достоинству оценена. Заранее спасибо!