Russian Qt Forum
Май 04, 2024, 00:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: MSVC 2008 - отладка  (Прочитано 4889 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Июль 21, 2011, 14:17 »

Добрый день

Имею неск. багов которые проявляются только на Вындоуз платформе, поэтому вынужден отлаживаться там. Ругать Microsoft - дело нехитрое, но я понимаю что на каждой платформе есть свои плюсы/минусы и не должно быть "как я хочу/привык". Но есть 2 вещи которые достают капитально

1) Пример
Код
C++ (Qt)
for (it = container.begin(); it != container.end(); ++it)
MyFunction(it->first, it->second, container.size());
 
Мне нужно добраться до MyFunction, делаю "Step In" (F11). Естественно сначала я попаду в size(), first. Отладчик туда действительно входит, открывается исходник контейнера и.. отладчик "застряет". То есть если я хочу быстро выскочить наверх (Shift F11) - мне приходится ждать несколько минут  Плачущий

2) Ошибка browse (на этапе отладки)
Происходит непредсказуемо. Напр объявлены 2 переменные
Код
C++ (Qt)
int A1, A2;
 
browse A1 - все хорошо, browse A2 - начинает думать (изредка тряся винтом). Думать может час, два и более - но это никогда не заканчивается. Приходится снимать MSVC и перезапускать - теряю время.

Оба эффекта проявляются на больших проектах (1000 и более cpp) - на маленьких я их не замечал.
Если кто сталкивался - подскажите как бороться, буду благодарен

Спасибо
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #1 : Июль 21, 2011, 15:51 »

1) установить брейкпоинт в начале MyFunction?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Июль 22, 2011, 14:26 »

1) установить брейкпоинт в начале MyFunction?
- не могу выскочить на MyFunction если она из др. static lib
- чтобы перейти к MyFunction нужен browse, а там засада (пункт 2)
- даже в лучшем случае так ладиться, мягко говоря, "не очень удобно"  Улыбающийся
Записан
alex312
Хакер
*****
Offline Offline

Сообщений: 606



Просмотр профиля
« Ответ #3 : Июль 22, 2011, 14:51 »

Чем отлаживаете? (какой версии QtCreator)
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Июль 22, 2011, 15:50 »

Чем отлаживаете? (какой версии QtCreator)
Никакой, проект не использует Qt, просто MSVC 2008 и STL
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #5 : Август 01, 2011, 13:38 »

только что случайно наткнулся Улыбающийся
1) поставить брейкпоинт на строке вызова функции, попасть в него, нажать правой кнопкой на строке - step into specific - выбрать MyFunction
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.087 секунд. Запросов: 22.