Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zarc
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 11
#1

Visual c++. Проблемы с отладкой - C++

09.06.2013, 16:26. Просмотров 861. Ответов 2
Метки нет (Все метки)

Здравствуйте. Почему при отладке студия иногда показывает не все локальные переменные? Например, при отладке в 10-ой студии следующей функции в окне "Локальные" не отображаются указатели s1, s2, vor_s1, vor_s2, splitChain.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Voronoi::Voronoi(TriagActorsT &s)
{
#pragma region Trivial cases
    //ends of recursion, trivial cases
    if (s.size() < 1)
    {
        throw -1;
    }
    if (s.size() == 1)
    {
        BuildVoronoiForOnePoint(s);
        return;
    }
    if (s.size() == 2)
    {
        BuildVoronoiForTwoPoints(s);
        return;
    }
#pragma endregion
 
    size_t halfSize = s.size() / 2;
    TriagActorsT *s1 = new TriagActorsT(s.begin(), s.begin() + halfSize);
    TriagActorsT *s2 = new TriagActorsT(s.begin() + halfSize, s.end());
 
    Voronoi *vor_s1 = new Voronoi(*s1);
    Voronoi *vor_s2 = new Voronoi(*s2);
 
    ConvHullVertexT lowerPL, lowerPR, upperPL, upperPR;
    LowerCommonSupport(*vor_s1, *vor_s2, lowerPL, lowerPR);
    UpperCommonSupport(*vor_s1, *vor_s2, upperPL, upperPR);
 
    DCEL *splitChain = BuildSplitChain(*vor_s1, *vor_s2, upperPL, upperPR, lowerPL, lowerPR);
        
    MergeVor(*vor_s1, *vor_s2, upperPL, upperPR, lowerPL, lowerPR, *splitChain->edges.begin());
}
Хотя, если добавить
C++
1
DCEL test = *splitChain;
после строки
C++
1
DCEL *splitChain = BuildSplitChain(*vor_s1, *vor_s2, upperPL, upperPR, lowerPL, lowerPR);
то в "локальных" появляется и указатель splitChain и переменная test.

А при отладке этой функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Voronoi::CoordinateVorEdges(EdgeNode *chainEdge, EdgeNode *prevVorEdge, 
    DCEL_EdgesT::iterator prevChainEdgeIter, VorOrient prevEdgeOrient)
{
    if (prevEdgeOrient == VorOrient::RIGHT)
    {
        chainEdge->p1 = prevVorEdge;
        (*prevChainEdgeIter)->p2 = chainEdge;
    }
    else
    {
        chainEdge->p1 = *prevChainEdgeIter;
        CoordinatePrevLeftVorEdge(chainEdge, prevVorEdge);
    }
}
отладчик не хочет заходить в метод CoordinatePrevLeftVorEdge.

C++
1
2
3
4
5
6
7
8
if (*crntChainEdge->vBegin == *prevVorEdge->vEnd)
    {
        prevVorEdge->p2 = crntChainEdge;
    }
    else
    {
        prevVorEdge->p1 = crntChainEdge;
    }
А в 12-ой студии я вообще не могу посмотреть значение ни у одной переменной во время отладки с++ кода (c# - пожалуйста, на ура)! Окошко над объектом всплывает, а "плюсика", чтоб посмотреть его структуру, нет . Именно поэтому проекты с++ пишу всё ещё в десятке, а хотелось бы в 12-ке.

В общем, помогите, пожалуйста. А то погряз в дебаге, и эти формальности просто бесят, не должно же так быть!

Добавлено через 18 часов 18 минут
И что, никому нечего сказать? Ни у кого такого не было?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2013, 16:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Visual c++. Проблемы с отладкой (C++):

Eclipse +GDB: проблемы с отладкой - C++
В коде в начале идет инициализация переменных, а потом считывание строки: cout &lt;&lt; &quot;Input expression to convert &gt; &quot;; cin &gt;&gt;...

Visual Studio 2010 - проблемы - C++
Здравствуйте,у меня вот проблемы появились в компиляторе VS 2010. Не распознает русский язык. Да да я ввожу...

Проблемы при создании и построении проекта Microsoft Visual Studio 2008 Ошибки! - C++
Проблемы при создании и построении проекта Microsoft Visual Studio 2008. Ошибки!!!

Какую среду программирования лучше выбрать для обучения языку C++ ? Visual Studio,Visual Basic или Visual C++? - C++
И напишите,чем рекомендуемая вами среда программирования лучше других? Насколько я понял из Википедии они все поддерживают язык...

В Чем разница между MS Visual C++ 2011 vs MS Visual C++2012 - C++
Здравствуйте Купил книгу по программированию Бориса Пахова С/С++ и MS Visual C++ 2012 для начинающих В данной книге программы...

Написать программу. Задания нужно выполнять на языке Visual C++ в среде Microsoft Visual Studio 2008 - C++
Можете написать программу? Задание по номером 3.24 (2 рисунок).

2
Владимир_1994
2 / 2 / 0
Регистрация: 19.05.2013
Сообщений: 27
09.06.2013, 16:33 #2
Во время отладки в 12 студии все переменные с их значениями выписаны внизу, там где еще ошибки показывает. Может не сразу заметно, но если там по окошкам потыкаться, то можно найти.
0
Zarc
0 / 0 / 0
Регистрация: 01.02.2012
Сообщений: 11
10.06.2013, 17:20  [ТС] #3
Переменные то показываются в окне "локальные", но их структура не отображается, пишет, что "не удалось вычислить дочерние элементы".
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2013, 17:20
Привет! Вот еще темы с ответами:

Насколько лучше Visual Studio2012 Visual Studio2010 - C++
Подскажите кто уже работает с последней версией VC , сильно ли она отличаеться от прежней

несовместимость visual c++ 6.0 и visual studio 2008 - C++
почему правильно гаписанная программа в visual c++ 6.0 не работает в visual studio 2008 , а именно #include &lt;iostream&gt; ...

несовместимость visual c++ 6.0 и visual studio 2008 - C++
почему правильно написанная программа в visual c++ 6.0 не работает в visual studio 2008 , а именно #include &lt;iostream&gt; using namespace...

Сильно ли отличается Visual C++ 2003 от Visual C++ 6 ? - C++
Начал читать книгу Харви М. Дейтел, Пол Дж. Дейтел - Как программировать на C++ - 2008 и ,как я понял из того,что написано в ведении,а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru