Форум программистов, компьютерный форум, киберфорум
Visual Studio
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
1

Тормозит VS 2012 при каждом шаге отладки

09.06.2015, 10:14. Показов 2341. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго дня форумчанам

Собственно, проблема - студия стала страшно тормозить. Каждый шаг отладки занимает 5-10 секунд. Подозреваю, что что-то лишнее надо бы отключить, но не подозреваю где...

О машине:
Проц - AMD Phenom II X3 720 2,8GHz
Оперативка - 6 Gb
ОС - Windows 7 Professional SP1

VisualStudio 2012 Ultimate.

Отлаживаемый Solution состоит из 5 проектов общим весом 32Мб (включая сторонние библы общим весом ~5 мб)
Плагинов/дополнений нет, пакетов через NuGet не ставил.

Судя по диспетчеру, каждый шаг отладки съедает примерно по 40% цп (с общей загрузкой цп не выше 60). Оперативка почти не скачет...

Посмотрел в инете - не помогло...

Пока не пробовал только переустанавливать VS... Надеюсь, что до этого не дойдёт.

Может кто знает основные моменты, что вызывают тормоза в VS? Или другие примеры решения подобной проблемы? Или может уже мой проект достаточно большой и это норма так долго отлаживаться?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2015, 10:14
Ответы с готовыми решениями:

Демонстрация движения равнобедренной трапеции, меняющий свой цвет при каждом шаге
Помогите пожалуйста сделать программу демонстрирующию движение равнобедренной трапеции, меняющий...

Замер времени работы макроса на каждом шаге - как сделать?
Возможно ли отследить какой блок кода сколько времени исполняется? Было бы, конечно, супер, если...

Принципы отладки в MVS 2012
Привет киберфорумцы! Подскажите пожалуйста, как в режиме отладки путешествовать только по...

Вывести пару элементов которые обмениваются в сортировке на каждом шаге на 1-2 секунды
нужно вывести пару элементов которые обмениваются в сортировке на каждом шаге на 1-2 секунды ...

11
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
09.06.2015, 11:18 2
А, на каком языке написан проект? C++, C#, VB.NET? От этого тоже многое зависит.
0
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
09.06.2015, 11:22  [ТС] 3
Цитата Сообщение от Streletz Посмотреть сообщение
А, на каком языке написан проект? C++, C#, VB.NET? От этого тоже многое зависит.
C#

П.С.
Думал, что уже всё учёл, ан нет жеж...
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
09.06.2015, 11:37 4
Цитата Сообщение от Kamerton Посмотреть сообщение
C#
Странно, обычно .NET компилируются и отлаживаются без особых "тормозов" (в отличие от C++).
А, что пишет сама студия? Возможно в проекте есть что-то, что на каждом шаге вызывает дополнительные действия.
0
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
09.06.2015, 11:55  [ТС] 5
Цитата Сообщение от Streletz Посмотреть сообщение
Странно, обычно .NET компилируются и отлаживаются без особых "тормозов" (в отличие от C++).
А, что пишет сама студия? Возможно в проекте есть что-то, что на каждом шаге вызывает дополнительные действия.
А где читать? Просто я тут один такой, "программист", в конторе, так что спросить больше не у кого или посмотреть, как это должно быть

Также, у меня сложная, на мой взгляд, иерархическая структура возвращается к тому месту отладки (~1к моих объектов вложенных друг в друга). Может этого уже достаточно? Просто странно, что тогда не грузится весь ресурс проца/оперативки, если это такие нагрузки серьёзные для студии, на мой взгляд... Или может часто встречающийся [DebugDisplay] с проверками так способствует, не пойму...
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
09.06.2015, 12:28 6
Цитата Сообщение от Kamerton Посмотреть сообщение
что спросить больше не у кого или посмотреть
Есть интернет.
Справочник по пользовательскому отладочному интерфейсу - MSDN.
Отладка приложений в Visual Studio 2010 - инструкция в 3х страницах. Отладка рассматривается на примере версии 2010, но, тем не менее, информация актуальная.
Цитата Сообщение от Kamerton Посмотреть сообщение
Также, у меня сложная, на мой взгляд, иерархическая структура возвращается к тому месту отладки (~1к моих объектов вложенных друг в друга).
Не совсем понял, что Вы имеете в виду. Это глубина наследования 1000 или особенности композиции?
1
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
09.06.2015, 13:16  [ТС] 7
Цитата Сообщение от Streletz Посмотреть сообщение
Не совсем понял, что Вы имеете в виду. Это глубина наследования 1000 или особенности композиции?
Ой, да. Это больше композиция, глубина не больше 10. Другими словами, есть ок.20 экземпляров класса, в каждом из которых еще по 5 разных типов, в каждом из которых ещё по 5 типов и т.п. Может с 1000 я и перегнул, но думаю уж 500-то будет... Возвращает List с общим количеством ~500+ экземпляров различных типов, завязанных между собой Не знаю, как ещё объяснить...

Цитата Сообщение от Streletz Посмотреть сообщение
Отладка приложений в Visual Studio 2010 - инструкция в 3х страницах.
Спасибо, почитаю. 2010 выглядит скептически, но если актуальная, то хорошо
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
09.06.2015, 13:23 8
Цитата Сообщение от Kamerton Посмотреть сообщение
Это больше композиция, глубина не больше 10
Если не больше 10, то глубина более чем умеренная.
Цитата Сообщение от Kamerton Посмотреть сообщение
Может с 1000 я и перегнул, но думаю уж 500-то будет... Возвращает List с общим количеством ~500+ экземпляров различных типов, завязанных между собой
Однако даже обработка композиции такого количества взаимосвязанных объектов (да ещё многократная) вполне может требовать значительных затрат.
Попробуйте оптимизировать архитектуру.
Для получения более чёткой картины можно протестировать программу с помощью профилировщика.
1
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
09.06.2015, 13:40  [ТС] 9
Цитата Сообщение от Streletz Посмотреть сообщение
Для получения более чёткой картины можно протестировать программу с помощью профилировщика.
Ох, спасибо большое за новый термин Нашёл интересные статьи, буду смотреть Судя по всему, подвешивают во многом ошибки (хотя не понятно, почему также имеются тормоза при переходе к скобкам и возвратах значений... по идее там никакой же особой работы не совершается), так что посмотрим на быстродействие, как исправлю логику...

Кликните здесь для просмотра всего текста
Вот что выдал Профилировщик при первом прогоне:

Тормозит VS 2012 при каждом шаге отладки


Занятно Буду смотреть подробнее...
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
09.06.2015, 14:09 10
Цитата Сообщение от Kamerton Посмотреть сообщение
Вот что выдал Профилировщик при первом прогоне:
Конечно, это только краткий отчёт профилировщика (там можно посмотреть и поподробнее покликав на ссылки рядом со словами "Связанные представления"). Полагаю, что профилировщик был использован пока только в одном режиме. Выполняя тестирование с использованием нескольких можно получить более полное представление о ситуации.
Однако, даже по тем данным, что он выдал в этом кратком отчёте видно, что очень много времени потребляет работа с компасом...
1
8 / 8 / 3
Регистрация: 20.05.2012
Сообщений: 174
09.06.2015, 14:24  [ТС] 11
Цитата Сообщение от Streletz Посмотреть сообщение
Однако, даже по тем данным, что он выдал в этом кратком отчёте видно, что очень много времени потребляет работа с компасом...
Хм... Спасибо Т.е. [clr.dll] - это всё обращения к COM-объектам Компаса? Занятно... Я уж думал, что подобное поведение нормально.
0
349 / 262 / 65
Регистрация: 07.04.2014
Сообщений: 1,603
09.06.2015, 14:37 12
Цитата Сообщение от Kamerton Посмотреть сообщение
[clr.dll] - это всё обращения к COM-объектам Компаса?
Нет. CompasConnector.
Возможно, это в значительной степени объясняет возникновение "тормозов". CAD-системы довольно ресурсоёмки. Обратите внимание. По данным краткого отчёта к компасу относятся 1е 4 функции с наибольшим потреблением времени. 3 из них потребляют более 20%.
Но, это пока не более чем гипотеза. Нужно смотреть на разных режимах работы профилировщика. Причём, не только краткие, но и подробные отчёты.
Работу с COM-объектом оптимизировать на порядок сложнее, чем 100% собственный код (где всё под контролем). Однако и в этом случае наверняка можно что-нибудь придумать...
0
09.06.2015, 14:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2015, 14:37
Помогаю со студенческими работами здесь

Нахождение произведения нечетных чисел пока пользователь на каждом шаге вводит 'Д'
Составить программу, по которой компьютер находит произведение нечетных чисел, начиная с единицы,...

Строковые оптимизации, чтобы не создавалась новая строковая переменная на каждом шаге цикла
Итак, есть подобный код: static int SomeCount(List<string> array) { int count = 0; ...

Ошибка в алгоритме выбора наименьшего значения на каждом шаге вычисления значений функции
Неверно задан алгоритм поиска минимального значения функции при ее вычислении на каждом шаге:...

Составить программу, которая в каждом шаге перемещает робота на соседний элемент (клеточку)
Создать массив 20х20 и присвоить ему значения от 1 до 9. В левом верхнем углу или в строке 1 и...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru