Nano Hash - криптовалюты, майнинг, программирование

Устранение неполадок Visual Studio 2012 с зависаниями/зависаниями

Я занимаюсь разработкой PHP в Visual Studio, и мое решение содержит проекты для PHP, SSRS и SQL Server (SSDT). И я использую TFS для контроля версий. Так что в моей среде разработки многое может пойти не так.

Я испытываю периодические зависания, обычно около 5 минут клипа. Visual Studio дает мне курсор ожидания, и если я щелкну где-нибудь в VS, окно тускнеет. И тогда мне остается только ждать. Иногда я могу завершить задачу devenv.exe, в других случаях для завершения задачи требуется несколько минут. Если я чувствую терпение, я просто жду, и в конце концов (около 5 минут) VS возвращается к жизни. Я никогда не сталкивался с потерей данных, проблемами с системой управления версиями и т. д., даже когда завершаю процесс.

Иногда это происходит, когда я сохраняю. Иногда, когда я регистрируюсь. Иногда, когда я выезжаю. Иногда, когда я строю. Я не смог различить какую-либо модель поведения.

Все ресурсы моей рабочей станции в порядке - нет проблем с оперативной памятью, вводом-выводом, сетью или процессором.

Что я могу сделать, чтобы устранить эту проблему? Могу ли я запустить VS в каком-то режиме ведения журнала, который позволит мне точно определить, что занимает так много времени в эти периоды блокировки?


  • Запустите его в безопасном режиме, чтобы убедиться, что это надстройка: devenv.exe /SafeMode 06.09.2013
  • Вы также можете попробовать включить ведение журнала: denenv.exe /log 06.09.2013
  • @ta.speeot.is - Если я работаю в безопасном режиме, я не могу загрузить свой проект, так как он зависит от расширений для моей разработки PHP. 08.09.2013

Ответы:


1

Чтобы включить ведение журнала в Visual Studio, запустите: devenv.exe /log

Я лично сделал бы это с помощью ярлыка.

06.09.2013
  • Для других, читающих это, вы также должны указать имя файла журнала в командной строке, например: devenv.exe /log c:\temp\vs.log (см. также msdn.microsoft.com/en-us/library/ms241272(v=vs.110).aspx) 08.09.2013
  • Вот полезная ссылка... Она нацелена на VS2010, а изображения повреждены, но это лучшая статья, которую я смог найти по этому вопросу: blogs.msdn.com/b/visualstudio/archive/2010/02/24/ 08.09.2013
  • ВС завис. Я посмотрел лог и увидел, что в моем расширении Layouts-o-rama куча ошибок. Я отключил это расширение, и с тех пор VS не блокировался! 10.09.2013
  • Если вы не укажете имя файла журнала, файл журнала по умолчанию находится по адресу: %APPDATA%\Roaming\Microsoft\VisualStudio\‹версия›\ActivityLog.xml. Я рад, что ведение журнала помогло вам. 10.09.2013

  • 2

    Рассмотрите возможность удаления старых определений рабочей области TFS, оставшихся от сборок непрерывной интеграции.

    У нас была такая же проблема с большим деревом проектов Team Foundation Server. Иногда, но не всегда, открытие решения в Visual Studio 2010 или Visual Studio 2012 зависало точно так, как описано выше. VS 2010 был наиболее уязвим; VS 2012 казался менее уязвимым, но все равно зависал.

    Мы смогли получить некоторые подсказки, наблюдая за активностью сервера на машине TFS Server и базовой машине SQL Server. Определенная хранимая процедура запроса использовала чрезмерное количество процессорного времени в SQL Server. Мы связали это имя хранимой процедуры с операцией TFS, участвующей в сканировании определений рабочей области TFS для извлечения файлов другими пользователями.

    Наша среда TFS используется уже более 3 лет, и мы используем определения сборки непрерывной интеграции, используя «армию зомби» рабочих станций разработчиков в качестве хостов агента сборки TFS. Мы также создаем новые ветки TFS для основных выпусков. Каждая ветвь содержит около 20 отдельных решений Visual Studio с собственными определениями сборки.

    Со временем мы накопили около 2000 определений TFS Workspace на каждой рабочей станции разработчика. У нас было около 10 рабочих станций одновременно со своими определениями.

    Используя окно команд Visual Studio и работая от имени администратора TFS, мы использовали эту команду для идентификации всех рабочих пространств, созданных нашим «пользователем сборки»:

    tf workspaces /collection:tfservername\collectionname /owner:ourbuilduser ›c:\tf_ws_del.bat

    Затем мы использовали глобальные подстановки и средство записи макросов редактора Notepad++, чтобы преобразовать каждую строку результата в следующую форму:

    рабочая область tf /удалить /коллекция:tfservername\имя_коллекции имя_рабочей области;наш_пользователь_сборки ‹c:\yes.txt

    где C:\yes.txt содержал одну строку "y"

    Мы также использовали человеческое суждение, чтобы удалить строки удаления для рабочих областей, названных в честь нашей последней ветки TFS.

    Затем мы запустили этот скрипт c:\tfs_ws_del.bat в том же командном окне Visual Studio и терпеливо дождались его завершения.

    Конечный результат: наши решения Visual Studio открываются очень быстро. Даже просмотр иерархии папок в Source Control Explorer значительно ускорился.

    ПРЕДУПРЕЖДЕНИЕ. Операции удаления для очень большого количества рабочих областей могут значительно расширить базу данных TempDB на базовом SQL Server. Координируйте свои действия с администраторами баз данных для мониторинга пространства на компьютере с SQL Server. Остановка и перезапуск коллекции TFS с помощью графического инструмента консоли администратора TFS помогает восстановить часть этого пространства TempDB и вернуть его во внутренний список «свободных блоков».

    22.10.2013

    3

    Это также может произойти, когда серверы символов, указанные в ваших параметрах отладки, не работают или недоступны ... в этом случае на самом деле это не будет зависать, но, похоже, истекает время ожидания для каждого доступа к файлу.

    Чтобы временно обойти эту проблему, снимите флажки с отключенных серверов символов.

    01.09.2016
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..