Доступ к содержимому векторов в режиме отладки
Использую g++ версии 4.8.1, среду разработки NetBeans 7.2. В программе объявляю вектор A_vec
чисел типа double. Заполняю вектор элементами. Ставлю точку останова в программе после заполнения вектора и запускаю в режиме отладки. На вкладке "Анализ выражений" выражение "A_vec.size()"
выдает 10, то есть элементы в векторе есть. Однако при попытке вычислить "A_vec[0]"
выводится непонятное "A_vec[0] = @0x1942218"
, а если вычислить "(double)A_vec[0]"
, и вовсе возникает окно с ошибкой "Cannot access memory at address 0x1942218"
. В чем может быть дело? В векторе точно есть элементы, почему отладчик их не видит?
Обновление
Ошибка возникает даже в минимальных демках. Пример:
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char** argv) {
vector<double> a(3,1);
cout << a.at(0);
return 0;
}
Обновление
Проблема наблюдается только при отладке в Windows (использую отладчик gdb, входящий в состав пакета MinGW). На ОС семейства Linux все ОК.