Visual studio зависает отладка
В Unity зависает редактор. Если сбилдить программу(под вин), то она тоже зависает(no responding). Не могу найти причину: выполняю неопределенное количество раз одно и тоже действие и потом зависание. Поставить breakpoint не могу потому, что не ясно где их ставить. Мне кажется, что зависает где-то в скриптах юнити.
Как можно получить место в котором программа зависает? Можно ли посмотреть какой то журнал где выписаны все действия программы? Я думаю что где-то получается бесконечный цикл, хотя я все циклы проверил.
@Алексей Шиманский , Да в MonoDevelop действительно удобно просматривать стек вызовов. В студии почему то так не получается. Проблему решил, спасибо!
по идее у студии тоже есть break all , который тоже должен останавливать в месте зависания. но чет не всё так просто видимо там. в итоге через моно схватилось? а то, что в блоге в первой ссылке написано не пробовали?
Всё. Теперь будет читабельно (я думаю). Специально перенес всё в ответ. Думаю это будет нужная и важная штука тут
1 ответ 1
Есть минимум три решения (если есть другие — дайте знать): два быстрых и одно долгое. Причем долгое связанно именно с Visual Studio (почему у Microsoft не может быть всё просто?)
Наибыстрейшее (но материально затратное)
Нужно пойти в UnityAssetStore и найти ассет (asset) под названием Panic Button. Он находится в разделе Editor Extensions/System. На данный момент этот ассет находится вот здесь.
Что он делает? Когда приложение крутится в бесконечном цикле и интерфейс Unity висит, достаточно нажать клавиши Shift + Esc и происходит "обрыв" главного потока, интерфейс отвисает. При этом проигрывание ставится на паузу, а в консоли отображается проблемное место:
Как конкретно она работает? Что происходит внутри? Скорее всего то, что будет описано в пункте №3, только сделанное в виде скрипта, упакованного в dll (чтоб никто не видел код 😆), подключаемую к проекту.
Использовать MonoDevelop
-
Пишем скрипт с бесконечным циклом, вешаем на объект и нажимаем Play :-)
Идем в MonoDevelop и нажимаем Run → Attach To Process
В появившемся окне выбираем Unity и нажимаем Attach
Нажимаем кнопку Pause в MonoDevelop
Mono уже остановится в проблемном месте и высветится StackTrace
Остается теперь поставить Breakpoint на строку, изменить значение, которое вводит в бесконечный цикл (в данном случае присвоить i значение 20, например) и нажать Continue Execution
Вздохнуть с облегчением.
Использовать Visual Studio
Пишем скрипт с бесконечным циклом, вешаем на объект и нажимаем Play :-)
Например скрипт такой:
Идем в Visual Studio, нажимаем в меню Debug → Attach to Process и выбираем в списке процессов Unity.
Заметка (!): Именно Attach to Process , а НЕ Attach To Unity
Далее нажимаем Debug → Break all , чтоб остановить процесс
Нужно найти дизассемблированный вид (если он автоматически не появился). В теории на вкладке StackTrace если нажать два раза ЛКМ , то появится окно, в котором можно нажать ссылку view disassembly
И через стэк попасть в место зависания. Анимация ниже должна полностью показать, как пробраться туда:
В итоге получаем примерно следующую картину:
Из него практически видно бесконечный цикл.
В реальности код может быть сложнее и будет трудно быстро разобрать, что там происходит, но сильно можно не вникать, ибо есть небольшой трюк (см. следующий шаг):
F10 - сделать шаг в отладке, не заходя в функцию/метод. Соответственно, теперь пошагово нажимаем F10 , пока не перелетим со строки 000000001015A758 jmp 000000001015A743 на строку с инструкцией cmp dword ptr [r11], 0 .
В итоге во вкладке Autos в Visual Studio должны появится данные значения:
Теперь просто меняем значение "переменной" R11 на ноль (0)
Так как мы стоим на адресе cmp , то при попытки исполнить инструкцию, она попытается прочитать address 0, что, в свою очередь, сгенерирует ошибку. Что мы делаем: Нажимаем F5 (продолжить выполнение программы), а затем во всплывающем окне выбираем Continue .
В теории, Unity должна ожить и плюнуть в консоль ошибку, указав, где была загвоздка:
Вздохнуть с облегчением.
P.S. Способ с Visual Studio был позаимствован в блоге Unity. Там же можно прочитать, почему способ работает
В этой статье предлагается ряд действий, которые можно попытаться выполнить, если среда Visual Studio работает медленно. Дополнительные рекомендации по повышению производительности можно найти в статье Советы и рекомендации по улучшению работы Visual Studio.
Обновление Visual Studio
Если сейчас вы используете более раннюю версию Visual Studio, например 2017 или 2019, скачайте бесплатно версию Visual Studio 2022, которая обеспечивает улучшенную производительность. В ней значительно ускорена загрузка решений и другие аспекты работы. Visual Studio можно установить на компьютер, на котором уже установлена более ранняя версия Visual Studio. Дополнительные сведения: Параллельная установка версий Visual Studio.
Если вы уже используете Visual Studio 2017, убедитесь, что у вас установлена как минимум версия 15.6. По данным тестирования, в версии 15.6 решения загружаются в два–три раза быстрее. Его можно скачать здесь. Дополнительные сведения см. в записи блога Load solutions faster with Visual Studio 2017 version 15.6 (Ускорение загрузки решений в Visual Studio 2017 версии 15.6).
Расширения и окна инструментов
У вас могут быть установлены расширения, замедляющие работу Visual Studio. Сведения об управлении расширениями с целью повышения производительности см. в разделе Изменение параметров расширений для повышения производительности.
Visual Studio также может работать медленнее из-за окон инструментов. Сведения об управлении окнами инструментов см. в разделе Изменение параметров окна инструментов для повышения производительности.
Оборудование
Если вы планируете обновление оборудования, имейте в виду, что твердотельный накопитель (SSD) сильнее влияет на производительность, чем дополнительный объем ОЗУ или ЦП с более высоким быстродействием.
Если вы добавляете диск SSD, то чтобы добиться оптимальной производительности, систему Windows следует установить на нем, а не на жестком диске (HDD). Где именно на диске находятся решения Visual Studio, не так важно.
Кроме того, не запускайте решение с USB-накопителя. Скопируйте его на жесткий диск или диск SSD.
Помогите нам улучшить службу
Рекомендации по повышению производительности Visual Studio предназначены для редких ситуаций, когда может возникать нехватка памяти. В таких случаях можно оптимизировать определенные компоненты Visual Studio, которые могут не использоваться. Приведенные ниже советы не следует рассматривать как общие рекомендации.
Если при работе с продуктом у вас возникают затруднения из-за проблем с памятью, свяжитесь с нами через средство обратной связи.
Использование 64-разрядной ОС
При переходе с 32-разрядной на 64-разрядную версию Windows вы увеличиваете объем виртуальной памяти, доступной Visual Studio, с 2 до 4 ГБ. Это позволяет Visual Studio обрабатывать значительно большие рабочие нагрузки даже несмотря на то, что это 32-разрядный процесс.
Visual Studio 2022 для Windows теперь является 64-разрядным приложением. Это означает, что вы можете открывать, изменять, запускать и отлаживать даже самые большие и сложные решения, не беспокоясь о нехватке памяти. Дополнительные сведения см. в записях блога, посвященных концепции Visual Studio 2022 и Visual Studio 2022, предварительная версия 1.
Отключение автоматического восстановления файлов
Visual Studio автоматически повторно открывает документы, открытые во время предыдущего сеанса. Это может увеличить время загрузки решения до 30 % или более в зависимости от типа проекта и открываемых документов. Конструкторы, например Windows Forms и XAML, и некоторые файлы JavaScript и typescript могут открываться медленно.
Visual Studio отображает уведомление на желтой панели, если автоматическое восстановление документа значительно замедляет загрузку решения. Вы можете отключить автоматическое повторное открытие файлов, выполнив следующие действия.
Выберите пункты меню Сервис > Параметры, чтобы открыть диалоговое окно Параметры.
На странице Проекты и решения > Общие отмените выбор пункта Повторно открыть документы при загрузке решения.
Если отключить автоматическое восстановление файлов, быстро перейти к нужным файлам можно с помощью одной из команд Перейти к:
Чтобы использовать общие функции Перейти к, выберите Изменить > Перейти к > Перейти ко всем или нажмите CTRL+T.
Перейдите к последней правке в решении, выбрав Изменить > Перейти к > Перейти к последнему изменению или нажав CTRL+SHIFT+BACKSPACE.
Используйте Перейти к последнему файлу, чтобы просмотреть список недавно просмотренных файлов в решении. Выберите Изменить > Перейти к > Перейти к последнему файлу или нажмите CTRL+1, CTRL+R.
Настройка параметров отладки
Если вы часто сталкиваетесь с нехваткой памяти во время сеансов отладки, можно оптимизировать производительность, внеся одно или несколько изменений в конфигурацию.
Включение функции "Только мой код"
Чтобы включить функцию Только мой код, выберите Сервис > Параметры > Отладка > Общие и затем Включить только мой код.
Указание символов для загрузки
При отладке машинного кода для загрузки файлов символов ( .pdb) требуется большой объем памяти. Вы можете настроить параметры отладочных символов для экономии памяти. Как правило, решение настраивается для загрузки только модулей из проекта.
Чтобы указать загрузку символов, выберите Сервис > Параметры > Отладка > Символы.
Задайте параметр Только указанные модули вместо Все модули и затем укажите, какие модули нужно загружать. Во время отладки также можно щелкнуть определенные модули правой кнопкой мыши в окне Модули, чтобы явно включить модуль в загрузку символов. (Чтобы открыть окно во время отладки, выберите Отладка > Окна > Модули.)
Дополнительные сведения см. в разделе Общие сведения о файлах символов.
Отключение средств диагностики
Рекомендуется отключить профилирование ЦП после использования. Эта функция может потреблять очень много ресурсов. После включения профилирования ЦП это состояние распространяется и на все последующие сеансы отладки, поэтому его следует отключать явным образом. Вы можете сэкономить ресурсы, отключив средства диагностики при отладке, если некоторые предоставляемые функции вам не нужны.
Для отключить Средства диагностики, запустите сеанс отладки, выберите Средства > Параметры > Отладка > Общие и снимите флажок Включить средства диагностики при отладке.
Дополнительные сведения см. в статье Средства профилирования.
Отключение инструментов и расширений
Для повышения производительности можно отключить некоторые инструменты или расширения.
Часто проблемы производительности можно выявить, отключая расширения по одному и проверяя уровень производительности.
Управляемые службы языка (Roslyn)
Сведения о производительности .NET Compiler Platform ("Roslyn") см. в статье Особенности производительности для крупных решений.
Отключение полного анализа решения
Отключение CodeLens
Visual Studio выполняет задачу Найти все ссылки для каждого метода при его отображении. CodeLens предоставляет такие функции, как встроенное отображение числа ссылок. Эта работа выполняется в отдельном процессе, например ServiceHub.RoslynCodeAnalysisService32. В крупных решениях или системах с небольшим объемом ресурсов эта функция может значительно снижать производительность. В случае возникновения проблем с памятью, например при загрузке большого решения на компьютере с 4 ГБ памяти или высокой загрузки ЦП при выполнении этого процесса, попробуйте отключить CodeLens для высвобождения ресурсов.
Чтобы отключить CodeLens, выберите Сервис > Параметры > Текстовый редактор > Все языки > CodeLens и отмените выбор данной функции.
Функция CodeLens доступна в выпусках Visual Studio Professional и Enterprise.
Другие инструменты и расширения
Отключение расширений
Расширения — это дополнительные программные компоненты в Visual Studio, которые предоставляют новые или расширяют имеющиеся функциональные возможности. Расширения часто могут выступать источником проблем с памятью. При возникновении подобных проблем попробуйте отключать расширения по одному за раз, чтобы оценить, как это влияет на сценарий или рабочий процесс.
Чтобы отключить расширения, перейдите в раздел Сервис > Расширения и обновления и отключите нужное расширение.
Чтобы отключить расширения, перейдите в меню Расширение > Управление расширениями и отключите нужное расширение.
Отключение режима карты
В режиме карты на полосе прокрутки показывается миниатюрное изображение строк кода. Режим карты включен по умолчанию.
Чтобы отключить режим карты, последовательно выберите Инструменты > Параметры > Текстовый редактор > Все языки > Полосы прокрутки, а затем в разделе Поведение снимите флажок Использовать режим карты для вертикальной полосы прокрутки.
Отключение переноса по словам
При включенном переносе по словам отображается часть длинной строки кода, выступающая за пределы текущей ширины окна редактора кода. Перенос по словам включен по умолчанию.
Чтобы отключить перенос по словам для проекта, над которым вы работаете в текущий момент, последовательно выберите в меню пункты Правка > Дополнительно > Перенос по словам. (Этот параметр можно переключать с помощью одних и тех же команд меню.)
Чтобы отключить перенос по словам для всех проектов, последовательно выберите в меню пункты Инструменты > Параметры > Общие > Текстовый редактор > Все языки > Общие, а затем в разделе Параметры снимите флажок Перенос по словам.
Отключение конструктора XAML
Конструктор XAML по умолчанию включен, но потребляет ресурсы только при открытии файла .xaml. Если вы работаете с XAML-файлами, но не хотите использовать функциональные возможности конструктора, отключите его, чтобы освободить память.
Чтобы отключить конструктор XAML, последовательно выберите в меню пункты Инструменты > Параметры > Конструктор XAML > Включить конструктор XAML, а затем снимите этот флажок.
Удаление рабочих нагрузок
Если вы не собираетесь использовать определенные рабочие нагрузки, удалите их с помощью установщика Visual Studio. Это позволяет оптимизировать расходы ресурсов при запуске и выполнении за счет пропуска ненужных пакетов и сборок.
Добавление неотслеживаемых файлов в локальный файл .gitignore
Visual Studio выполняет команду Git git status для неотслеживаемых файлов, чтобы вам было удобно добавлять новые файлы в репозиторий. При наличии большого количества неотслеживаемых файлов git status может потреблять большой объем памяти. Чтобы сделать эти файлы игнорируемыми и повысить производительность git status , можно добавить такие файлы или папки в локальный файл .gitignore. Чтобы получить доступ к файлу, выберите Git > Параметры > Параметры репозитория Git. Затем в разделе файлы Git щелкните Добавить, чтобы создать файл .gitignore, или щелкните изменить, если он у вас уже есть.
Функция фиксации графа в инструментах Git (только в Visual Studio 2022 Preview)
Новые возможности в Visual Studio 2022 Preview. Если при просмотре репозитория Git или журнала ветви в Visual Studio возникают задержки, вы можете воспользоваться новой функцией фиксации графа. Для этого скачайте Visual Studio 2022 Preview. Дополнительные сведения о функции фиксации графа см. в этой записи блога.
Принудительная сборка мусора
Среда CLR использует систему управления памятью, подразумевающую сборку мусора. В этой системе память иногда используется объектами, которые больше не нужны. Это временное состояние — сборщик мусора освободит эту память, основываясь на своей эвристике производительности и использования ресурсов. Вы можете заставить среду CLR собрать всю неиспользуемую память, используя сочетание клавиш в Visual Studio. Если имеется значительный объем мусора, ожидающего сборки, то принудительная сборка мусора позволяет снизить использование памяти процессом devenv.exe в диспетчере задач. Потребность в этом методе возникает довольно редко. Тем не менее после завершения операции, потребляющей много ресурсов (такой как полная сборка, сеанс отладки или событие открытия решения), он может помочь определить объем памяти, действительно используемый процессом. Так как среда Visual Studio является смешанной (управляемый и машинный код), собственный распределитель и сборщик мусора могут конкурировать за ограниченные ресурсы памяти. В условиях высокого использования памяти это может помочь принудительно запустить сборщик мусора.
Чтобы принудительно запустить сборку мусора, используйте сочетание клавиш: CTRL+ALT+SHIFT+F12, CTRL+ALT+SHIFT+F12 (нажмите два раза).
Если принудительная сборка мусора обеспечивает работоспособность сценария, направьте отчет с помощью средства обратной связи Visual Studio, так как подобное поведение, скорее всего, указывает на ошибку.
Подробное описание сборщика мусора CLR см. в статье Основы сборки мусора.
В этом разделе рассмотрены решения по устранению проблем, типичных для набора средств Visual Studio для Unity, приведено описание известных проблем и показано, как улучшить функционирование набора средств Visual Studio для Unity с помощью отчетов об ошибках.
Устранение неполадок соединения между Unity и Visual Studio
Проверка Editor Attaching включена или Code Optimization On Startup имеет значение Debug
В меню Unity выберите Edit / Preferences .
В зависимости от используемой версии Unity:
- Убедитесь, что Code Optimization On Startup задано значение Debug .
- Или выберите вкладку External Tools . Убедитесь, что Editor Attaching флажок включен.
Не удается подключить
- Попробуйте временно отключить антивирусную программу или создать правила исключения для VS и Unity.
- Попробуйте временно отключить брандмауэр или создать правила, разрешающие сетевое взаимодействие между VS и Unity по протоколам TCP/UDP.
- Некоторые программы, например Team Viewer могут препятствовать обнаружению процессов. Попробуйте временно остановить все лишнее программное обеспечение, чтобы выяснить, повлияет ли это на что-либо.
- Не переименовывайте основной исполняемый файл Unity, так как VSTU отслеживают только процессы "Unity.exe".
Сбои Visual Studio
Эта проблема может быть вызвана повреждением кэша MEF в Visual Studio.
Попробуйте удалить следующую папку, чтобы сбросить кэш MEF (перед этим закройте Visual Studio):
Visual Studio не отвечает
Некоторые подключаемые модули Unity, такие как Parse, FMOD, UMP (Universal Media Player), ZFBrowser или Embedded Browser, используют собственные потоки. Эта проблема возникает, когда подключаемый модуль подключает собственный поток к среде выполнения, что блокирует вызовы ОС. Это означает, что Unity не может прервать этот поток для отладчика (или перезагрузки домена) и перестает отвечать на запросы.
Для FMOD существует обходной путь. Вы можете передать флаг инициализации FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE , чтобы отключить асинхронную обработку и выполнять всю обработку в основном потоке.
Если вы разрабатываете собственный подключаемый модуль, рекомендуется использовать асинхронные вызовы процедур (APC) и особенно SleepEx , , SignalObjectAndWait или MsgWaitForMultipleObjectsEx``WaitForMultipleObjectsEx``WaitForSingleObjectEx функции для правильного взаимодействия с Unity и Mono, когда отладчику необходимо приостановить потоки.
Несовместимый проект в Visual Studio
Очень важно знать, что Visual Studio сохраняет состояние "Несовместимо" в параметрах проекта и не будет пытаться перезагрузить проект, пока вы не будете явно использовать Reload Project . Поэтому после каждого шага устранения неполадок убедитесь, что вы попытаетесь повторно открыть решение и попытаетесь щелкнуть правой кнопкой мыши все несовместимые проекты и выбрать Reload Project .
Дополнительные перезагрузки или закрытие всех открытых окон в Visual Studio
Никогда не работайте с файлами проектов непосредственно из обработчика ресурсов или иного средства. Если вам действительно необходимо совершить операции с файлом проекта, мы предоставляем для этого интерфейс API. См. раздел Проблемы со ссылками на сборку.
В случае исключений не происходит останов отладчика
В новой среде выполнения Unity (эквивалентной версии .NET 4.6) появился новый способ управления пользовательскими исключениями. В результате все исключения считаются "обработанными пользователем", даже если они произошли вне блока try/catch. Поэтому их необходимо явным образом задавать в окне параметров исключений, если требуется останов отладчика.
В ОС Windows система Visual Studio предлагает скачать целевую платформу Unity
Проблемы со ссылкой на сборку или свойством проекта
В последних версиях Visual Studio и Unity лучше всего использовать пользовательский Directory.Build.props файл вместе с созданными проектами. После этого вы сможете внести свой вклад в структуру проекта, не вмешиваясь в процесс создания.
Точки останова с предупреждением
Если Visual Studio не удается найти исходное расположение для определенной точки останова, рядом с ней отображается предупреждение. Убедитесь, что используемый вами скрипт правильно загружен и используется в текущей сцене Unity.
Точки останова не срабатывают
Не удается выполнить отладку проигрывателей Android
Мы используем для обнаружения проигрывателей многоадресную рассылку (это стандартный механизм, применяемый в Unity), но затем применяется простое соединение TCP для подключения отладчика. Этап обнаружения — основная проблема для устройств Android.
Связь через Wi-Fi универсальна, однако она слишком медленная по сравнению с USB из-за задержки. Мы наблюдали отсутствие должной поддержки многоадресной рассылки у некоторых маршрутизаторов или устройств (этим известна серия Nexus).
Связь по USB обладает отличной скоростью для отладки. Инструменты Visual Studio для Unity теперь могут обнаруживать устройства USB и согласовывать с сервером ADB правильную переадресацию портов для отладки.
Проблемы с intelliSense или цветом кода
Попробуйте обновить Visual Studio до последней версии. Выполните те же действия по устранению неполадок, что и для несовместимых проектов.
Известные проблемы
При отладке Unity иногда аварийно завершает работу.
При отладке Unity иногда зависает.
Пошаговая отладка с заходом и выходом из методов иногда ведет себя некорректно, особенно в итераторах или внутри инструкций switch.
Отчеты об ошибках
Помогите нам улучшить качество набора средств Visual Studio для Unity: отправляйте нам отчеты об ошибках при аварийном выходе, зависании или в случае других ошибок. Эти сведения помогают нам определять причину и устранять проблемы в наборе средств Visual Studio для Unity. Спасибо!
Как сообщить об ошибке в случае зависания Visual Studio
Существуют отчеты о том, что иногда Visual Studio зависает при отладке с помощью набора средств Visual Studio для Unity, но чтобы разобраться в проблеме, нам требуется больше данных. Вы можете помочь нам разобраться с проблемой, если выполните следующие действия.
Создание отчета о зависании Visual Studio во время отладки с помощью набора средств Visual Studio для Unity
Откройте новый экземпляр Visual Studio.
Откройте диалоговое окно "Присоединение к процессу". В новом экземпляре Visual Studio в главном меню выберите Отладка, Присоединение к процессу.
Присоедините отладчик к замороженному экземпляру Visual Studio. В диалоговом окне Присоединение к процессу выберите замороженный экземпляр Visual Studio в таблице Доступные процессы , а затем нажмите кнопку Присоединить .
Приостановите отладчик. В новом экземпляре Visual Studio в главном меню выберите Отладка, Прервать все или просто нажмите CTRL+ALT+BREAK.
Создайте дамп потока. В окне командной строки введите следующую команду и нажмите клавишу ВВОД:
Возможно, сначала будет нужно отобразить окно Команда . В Visual Studio в главном меню выберите Представление, Другие окна, Командное окно.
Откройте терминал и получите идентификатор процесса Visual Studio для Mac:
Запустите отладчик lldb.
Подключитесь к экземпляру Visual Studio для Mac, используя идентификатор процесса:
Извлеките трассировку стека для всех потоков:
Доброго времени суток. Создал такой код, построил решение, всё вроде ок. Но при попытке отладки Visual Studio намертво зависает, а в диспетчере задач появляется 3 процесса с именем проекта. у меня VS express 2012. Помогите разобраться то ли в коде беда (скорее всего так и есть) либо с VS что-то не то.
Не запускается БД, хотя скомпилирована без ошибок
Делаю базу данных телефонов по методичке. Всё сделал как требуется. БД собрана без ошибок, но не.
При попытке экспортирования сишных функций глюки лезут уже на моменте отладки .
Народ помогите! Трабл вот какой . При попытке экспортирования сишных функций глюки лезут уже на.
ПК виснет при попытке запустить IE
Добрый день! Проблемма вот в чем. Есть ПК (ХР SP2) на котором установленны контур, банк клиент.
Виснет при попытке чтения
Здравствуйте. HDD 2,5" 500гб вытащил из старого ноута и сделал из него внешний. Собственно.
Дело не совсем в коде или частично только, запустил с ноута где стоит VS 2012 Premium все работает так как надо. Странно весьма. Буду благодарен если кто нибудь попробует прогнать через express 2012 и поделиться впечатлениями, очень интересно знать проблема в ограниченности express версии или что-то криво поставилось/неработает
Понятно, связался с лицензионкой от мелкософта и всё пошло наперекосяк, мало того что кучу времени потратил на скачивание с их тормознутого сайта дак ещё и переустанавливать теперь)
EgorS, зачем Си-строки и string-и смешиваешь? Проверка на длину строк неправильная: количество символов в строке (то, что выдаёт size()) должно быть на единицу меньше размера массива под Си-строку (нужно место под '\0' оставить).
nord_v, Это способ с помощью которого я проверяю длину вводимого имени, а насчёт размера строк да, ступил ))) А то что касается невозможности запустит программки через VS 2012 express, пробовал туда пихать заведомо рабочий код - та же фигня.
Доброго времени суток. Создал такой код, построил решение, всё вроде ок. Но при попытке отладки Visual Studio намертво зависает, а в диспетчере задач появляется 3 процесса с именем проекта. у меня VS express 2012. Помогите разобраться то ли в коде беда (скорее всего так и есть) либо с VS что-то не то.
антивирус аваст? Отключи его на *** . Вчера та же проблема была, переставил студию, не помогло, а потом выключил аваст и ок ! Главное что он банит программы и молчит, студия виснет тоже без объяснений. сутки на ветер.
Читайте также: