После установки visual studio не работают приложения

Обновлено: 07.07.2024

Решили мы как-то перевести свой проект на Visual Studio 2015 — там ведь столько захватывающих фич! Вчера вот только решили, а уже сегодня утром я запустил её инсталлятор. Небо было безоблачным, ничто не предвещало беды. Ну что, в самом деле, может пойти не так? Сколько уже этих Visual Studio переставлено — не счесть (я, помнится, ещё 6.0 когда-то ставил). Кто бы мог подумать, что эта тривиальнейшая задача может вылиться в весьма неожиданный забег по граблям длинной почти в целый рабочий день.

Хм. Не поставился значит, Team Explorer и ещё пару минорных пакетов. Ну ок. Закрываем, переустанавливаем. Не помогает. Удаляем студию, перезагружаемся, устанавливаем — та же ошибка. Лезем в Гугл с вопросом об ошибке установки Visual Studio 2015 на этапе инсталляции компонента Team Explorer и понимаем, что проблема это массовая — десятки ссылок с тем же описанием:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17

Отвечают на все эти вопросы специалисты первой линии техподдержки Microsoft, советы которых сводятся к «отключите антивирус», «проверьте чексуму образа со студией», «проверьте диск на ошибки». Ничего из этого, конечно, не помогает, о чём им и рассказывают, после чего они пропадают и больше не отвечают. Очень дружелюбная пользовательская поддержка, ничего не скажешь.

Ну что же, пора включать голову, брать в руки инструменты и разбираться. Поехали.

Итак, всё что у нас есть, это входная точка ошибки — проблема с Team Explorer. И ссылочка на лог-файл на приведённом выше скриншоте. Ну ок, давайте пойдём почитаем что там лог-файл думает о нашей ошибке.

Всё, что можно понять из этого лога, это то что компонент ставился-ставился, да что-то не поставился. Бывает, мол, чего уж там. Ну, спасибо большое за информацию!

Ладно, давайте зайдём с другой стороны. Team Explorer это (как и почти всё в современных версиях Visual Studio) — VSIX (компонент, расширение). Ставится отдельно от ядра студии специальной программой VSIXInstaller.exe, которая живёт в C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE и умеет при установке этих самых VSIX-компонентов писать во временную папку (ну, ту, которая %TEMP%) логи о том, как всё прошло. Идём в %TEMP%, находим по времени ошибки из лога выше файлик, соответствующий установке Team Explorer. Вот он:

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

26.11.2015 17:31:06 - System.TypeInitializationException: The type initializer for 'VSIXInstaller.SupportedSKUs' threw an exception. ---> System.BadImageFormatException: Could not load file or assembly 'Microsoft.VisualStudio.Settings.14.0.dll' or one of its dependencies. is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)

Хм, произошла ошибка при попытке загрузить сборку Microsoft.VisualStudio.Settings.14.0.dll. Первой моей мыслью было то, что студия как-то запуталась в порядке установки своих компонентов и пытается использовать при установке что-то, что ещё не установилось куда надо. Так, есть у нас в системе такая библиотека?

Оказалось — есть. Лежит в GAC, там где ей и положено лежать:


Так, что же получается? Сборка есть, она находится там, где нужно, но не загружается. Может быть, битая? Берём IL DASM, загружаем — всё ок.


Может быть умельцы из Microsoft сумели написать такой инсталлятор, у которого иногда получается не найти сборку в GAC? Берём Process Monitor, добавляем в него фильтр на открытие файлов и снова запускаем инсталлятор студии. Доходим до ошибки, смотрим логи.



Ага, vcruntime140.dll загружается. Это redistributable-библиотека от Visual Studio 2015. Ну, она-то точно должна была поставиться на одном из первых этапов установки! Но давайте проверим, чем уже чёрт не шутит.

Проверка раз — в списке установленных программ:


Проверка два — в папке C:\Windows\SysWOW64\:



Проверка три — это, собственно, «SUCCESSS» в логе Process Monitor:

Последняя проверка — вообще железобетонный аргумент: видите, поискали, попробовали открыть, открылось успешно — значит файл найдён. Всё, подозрения снимаются, идём дальше. Так, какую-же библиотеку инсталлятор VSIX пытается подгрузить следующей по логами Process Monitor?


Как это опять vcruntime140.dll уже в другой папке?! Получается, найдя vcruntime140.dll в папке C:\Windows\SysWOW64\ и успешно её открыв (а мы знаем что так и было по логам выше!) загрузчик зависимостей всё-же почему-то счёл её недостаточно хорошей и отбросил. Как же так?! Это что — не майкрософтовская библиотека? Смотрим свойства:


Да нет, нормальная библиотека. Почему же не загрузилась? Давайте посмотрим на неё внимательнее. Для этого в составе любой версии Visual Studio есть отличная утилита dumpbin. Запускаем её с вот такими ключами:

и смотрим на результаты:


Подождите-подождите… А почему это ты, библиотечка, 64-битная?! Ты же лежишь в папке C:\windows\SysWOW64\, где вообще-то место только 32-битным библиотекам! А ну-ка давайте посмотрим, что же тогда лежит в C:\Windows\System32?


А то же самое (кто не верит в размер — можете проверить каким-нибудь WinMerge, они идентичны). Вы уже уловили, в чём суть? Ошибка закралась в инсталятор Redistributable-компонентов, входящий в инсталятор Visual Studio 2015 — он просто ставит 64-битные версии рантайм-библиотек и в папку для 64-битных библиотек (C:\Windows\System32) и в папку для 32-битных (c:\windows\SysWOW64\). В итоге при дальнейшей попытке использования 64-битной версии всё будет ок, а вот при попытке загрузки 32-битной версии будет то, что мы увидели при установке Team Explorer — загадочные ошибки вообще без упоминания библиотеки vcruntime140.dll и Redistributable-пакета. И делай, что хочешь.

А что же мы хотим делать? А удалить x86-часть Redistributable-пакета Visual Studio 2015, скачать её отдельно с сайта Microsoft и переустановить. Сюрприз — на сайте Microsoft версия правильная, она установит 32-битную версию библиотеки в C:\windows\SysWOW64, после чего можно перезапустить установку Visual Studio 2015 и она успешно дойдёт до конца!


Осталось как-то объяснить начальству почему это я целый день устанавливал Visual Studio, если с этим дети в третьем классе за час справляются. В общем-то ради этой цели и была написана данная статья, а уж зачем вы её прочли — я не знаю :)

К сожалению, единого метода решения для ошибки «Microsoft Visual C++ Runtime Library» нет, так как причины могут быть разными: отсутствующие или поврежденные компоненты системы, влияние сторонних служб и программ, в некоторых случаях — ошибки в самой запускаемой программе (особенно если она была написана вами лично).

Язык программ, не поддерживающих Юникод и пути к папкам с программой

Этот способ решения часто оказывается результативным для пользователей с русскоязычными версиями Windows 10, 8.1 или Windows 7, при условии, что ошибка Microsoft Visual C++ Runtime Library вызывается какой-то сторонней программой, а не системными компонентами, такими как explorer.exe или SystemSettings.exe.

Изменение языка программ, не поддерживающих Юникод

  1. Если запускаемая игра или программа (или её установщик) находится в папке, путь к которой содержит кириллицу (русские буквы), перенесите её в другое расположение или переименуйте папку, попробуйте запустить. Например, если ваше имя пользователя на русском языке, а файл запускается из папки «Загрузки», то полный путь к ней будет иметь види это может послужить причиной ошибки.
  2. Зайдите в Панель управления (в Windows 10 панель управления можно открыть через поиск на панели задач) — Региональные стандарты, откройте вкладку «Дополнительно» и в разделе «Язык программ, не поддерживающих Юникод» нажмите «Изменить язык системы». Выберите «Английский (США)», примените настройки и перезагрузите компьютер, затем проверьте, решило ли это проблему.

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

Здесь присутствует один нюанс: обычно мы не знаем, какие именно из многочисленных наборов распространяемых компонентов Microsoft Visual C++ послужил причиной проблемы, а потому я рекомендую следующих подход их переустановки:

Если указанные шаги не решили проблему, выполните следующие шаги:

Драйверы видеокарты и DirectX

После установки драйверов, DirectX и перезагрузки компьютера, проверьте, была ли решена проблема.

Дополнительные методы решения проблемы

  • Удалить программы, установленные непосредственно перед появлением ошибки. По отзывам, причиной может быть самое разное стороннее ПО, среди примеров: Intel True Key, программы принтеров HP, антивирусы.
  • Использовать точки восстановления системы при их наличии.
  • Выполнить чистую загрузку (не путать с установкой) Windows. Если при чистой загрузке ошибка исчезает, то причина — какие-то программы в автозагрузке или сторонние службы. Можно включать их группами, пока не выявим, что именно вызывает ошибку. Как именно выполнить чистую загрузку описано в инструкции Чистая загрузка Windows. .
  • Отдельная инструкция для этой же ошибки с кодом R6025 pure virtual function call

Ещё один вариант, для случая, когда ошибку вызывает какой-то системный процесс — создать нового пользователя Windows (лучше, если будет использовано имя на латинице), зайти в систему под ним и проверить, сохраняется ли ошибка у этого пользователя.

Видео инструкция

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

А вдруг и это будет интересно:

28.01.2021 в 22:31

Есть вопрос к вам по поводу купленного самсунг 980 про и материнки гигабайт аорус мастер z390 так вот нету ни в одной программе ни информации про смарт ни трим ни Ncq ни остального только есть немного инфы в меджикан. у людей на ютюбе эта информация есть

29.01.2021 в 14:49

10.07.2021 в 12:06

В статью можно добавить sxtrace как один из способов.
У меня прога на работе требует vc++ x86 2005ые, но их оказывается есть несколько версий, и с помощью sxtrace можно точно узнать версию требуемой библиотеки.

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

Это руководство содержит пошаговые инструкции, которые помогут устранить большинство проблем при установке.

Установка через Интернет

Следующие шаги применимы к обычной установке через Интернет. Сведения об автономной установке см. в разделе об устранении неполадок с автономной установкой.

Шаг 1. Проверьте, не связана ли ошибка с известными проблемами

Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Чтобы найти способ обойти эту проблему, проверьте раздел известных проблем в заметках о выпуске.

Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Чтобы найти способ обойти эту проблему, проверьте раздел известных проблем в заметках о выпуске.

Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Проверьте, решена ли проблема, или найдите обходные пути в разделе "Известные проблемы" в заметках о выпуске.

Шаг 2. Попробуйте восстановить Visual Studio

Процедура восстановления способна устранить многие распространенные проблемы с обновлением. Дополнительные сведения о том, когда и как восстанавливать Visual Studio, см. в разделе Восстановление Visual Studio.

Шаг 3. Обратитесь к сообществу разработчиков

Шаг 4. Удалите папку Visual Studio Installer, чтобы устранить проблемы, связанные с обновлением

Начальный загрузчик Visual Studio Installer представляет собой необходимый исполняемый файл небольшого размера, который инициирует установку компонентов Visual Studio Installer. Если вы удалите файлы Visual Studio Installer и повторно запустите начальный загрузчик, это может решить некоторые проблемы, связанные с обновлением.

С помощью следующей процедуры можно переустановить файлы Visual Studio Installer и сбросить метаданные установки.

  1. Закройте Visual Studio Installer.
  2. Удалите папку Visual Studio Installer. Как правило, путь к папке: C:\Program Files (x86)\Microsoft Visual Studio\Installer .
  3. Запустите начальный загрузчик Visual Studio Installer. Файл начального загрузчика можно найти в папке Загрузки. Его имя соответствует шаблону vs_[Visual Studio edition]__*.exe . Вы также можете скачать начальный загрузчик для вашего выпуска Visual Studio со страницы загрузок Visual Studio. Запустите этот исполняемый файл, чтобы сбросить метаданные установки.
  4. Снова попробуйте установить или обновить Visual Studio. Если Visual Studio Installer продолжает выдавать ошибки, перейдите к шагу Сообщить о проблеме.

Шаг 5. Сообщите о проблеме

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

Шаг 6. Удаление файлов установки Visual Studio

В крайнем случае вы можете удалить все файлы установки Visual Studio и информацию о продукте:

  1. Выполните шаги со страницы Удаление Visual Studio.
  2. Снова запустите начальный загрузчик Visual Studio Installer. Файл начального загрузчика можно найти в папке Загрузки. Его имя соответствует шаблону vs_[Visual Studio edition]__*.exe . Вы также можете скачать начальный загрузчик для вашего выпуска Visual Studio со страницы загрузок Visual Studio.
  3. Попробуйте переустановить Visual Studio.

Шаг 7. Свяжитесь с нами (необязательно)

Если вы выполнили все вышеуказанные шаги, но вам так и не удалось установить или обновить Visual Studio, свяжитесь с нами через чат в реальном времени (только на английском языке) для получения дополнительной помощи.

Автономная установка

Здесь приведены некоторые известные проблемы и варианты обходных путей, которые могут помочь при создании автономной установки и установке из локального источника.

Проблема Решение
Пользователи не имеют доступ к файлам Прежде чем открывать общий доступ к автономной установке, необходимо настроить разрешения (ACL) и предоставить пользователям права на чтение.
Не удается установить новые рабочие нагрузки, компоненты или языковые пакеты Если вы производите установку из частичного макета и выбираете рабочие нагрузки, компоненты или языки, которые не скачаны в этот макет, вам потребуется доступ в Интернет.

Журналы установки

Журналы установки помогают нам в устранении большинства неполадок при установке. При отправке сигнала о проблеме с помощью варианта Сообщить о проблеме в Visual Studio Installer в отчет автоматически добавляется последний журнал установки Visual Studio Installer.

Чтобы собрать журналы, выполните указанные ниже действия.

    .
  1. Откройте командную строку от имени администратора.
  2. Запустите Collect.exe в папке, в которой сохранили средство.
  3. Средство создает файл vslogs.zip в папке %TEMP% , как правило, в C:\Users\YourName\AppData\Local\Temp\vslogs.zip .

Запускайте средство с помощью той же учетной записи пользователя, с помощью которой запускалась завершившаяся сбоем установка. Если вы запускаете средство с помощью другой учетной записи, задайте параметр –user:<name> , чтобы указать учетную запись пользователя, с помощью которой запускалась завершившаяся сбоем установка. Чтобы просмотреть дополнительные параметры и сведения об использовании, запустите Collect.exe -? из командной строки администратора.

Помощь в реальном времени

Если решения, приведенные в этом руководстве по устранению неполадок, не помогли вам установить или обновить Visual Studio, воспользуйтесь чатом в реальном времени (только на английском языке) для получения дополнительной помощи.

Всем доброго времени суток!

Вообще, Microsoft Visual C++ — это важный пакет, который позволяет запускать игры, в разработке которых была использована одноименная среда. Естественно, если данного пакета нет — игра у вас не запустится, вызвав ошибку.

Кстати, ошибка может появиться и в тех случаях, когда есть проблемы с целостностью файлов одного из пакетов. Вообще, причин проблем и ошибок, связанных Visual C++, довольно-таки много.

Внешний вид ошибки / в качестве примера

Внешний вид ошибки Runtime Library / в качестве примера

ускорение ПК

Решение вопросов с Microsoft Visual C++

Ссылки на основные версии пакетов Visual C++ (ручная установка)

Как правило ошибки, связанные с Visual C++, возникают из-за отсутствия определенного пакета (либо, из-за "кривой" установки оного).

Например, GTA V потребует следующих программных компонентов (это доп. требования к тех. характеристикам): Microsoft DirectX, Microsoft Visual C++ 2008, Google Chromium.

Driver Booster - найдено 4 устаревших драйвера, и 1 игровой компонент // пример работы программы

Driver Booster - найдено 4 устаревших драйвера, и 1 игровой компонент // пример работы программы

Кстати, не могу не отметить, что помимо Visual C++ она также устанавливает и обновляет и др. пакеты: DirectX, Microsoft Silverlight, NET FrameWork и т.д. В общем, все те пакеты, из-за которых часто сыпятся ошибки в играх.

Если после обновления пакетов всё равно возникает ошибка

Возможно, нарушена целостность файлов игры (установщика)

Если переустановка компонентов Visual C++ и Driver Booster ничем не помогли, то рекомендую внимательно присмотреться к файлам установщикам самой игры.

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

Я бы порекомендовал скачать новый установщик игры и переустановить ее. Перед этим не лишним будет прогнать систему на вирусы и рекламное ПО (нередко, когда вирусы портят системные файлы игры). О том, как лучше и чем проверить расскажу чуть ниже в статье.

Помимо Visual C++, для игр в большинстве случаев, требуется обновленная версия DirectX и пакет NET FrameWork .

Если какого-то из этих пакетов нет (или его компоненты были повреждены), не исключены различные ошибки: то нет "DLL", то приложение не может быть продолжено, то ". Runtime Library. ".

У меня на блоге уже есть парочка статей, посвященных проблемам с NET FrameWork и DirectX, рекомендую проверить и эти пакеты.

Проверяем и обновляем драйвер на видеокарту

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

Дело в том, что "такие" не родные* драйвера, как правило, не обеспечивают полноценной поддержки всех функций (я уж не говорю, что помимо драйверов же, должны установиться различные центры управления).

Но так как у большинства пользователей все работает после инсталляции системы — то никто и не задумывается об этом до появления ошибок и конфликтов ПО.

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

Таблица №1: ссылки на официальные сайты для загрузки видеодрайверов.

Есть два типа поиска и установки драйвера:

  1. можно загрузить и запустить спец. утилиту, которая определит какой нужен вам драйвер;
  2. а можно выбрать драйвер вручную, указав версию ОС и модель карты (об этом мы говорили выше).

Можно автоматически определить какой нужен драйвер (на ПК должен быть установлен JAVA).

Можно вручную указать модель видеокарты и версию ОС.

Проверка компьютера на вирусы и трояны, рекламное ПО

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

Поэтому, рекомендация простая: прогнать систему парочкой антивирусных утилит, которые порекомендую ниже.

Если вирусы будут найдены и обезврежены — может потребоваться переустановка библиотеки Visual C++ (а также NET FrameWork и DirectX).

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

PS

Предотвращение закрытия окна консоли в приложении консоли Visual Studio C / C ++

Как предотвратить закрытие окна консоли в Visual Studio C / C ++

Это, вероятно, неудобный вопрос, поскольку, без сомнения, ответ ослепляюще очевиден.

Когда я запускаю свое приложение, появляется окно консоли, появляется вывод программы, а затем окно закрывается при выходе из приложения.

Есть ли способ оставить его открытым, пока я не проверю вывод, или просмотреть результаты после закрытия окна?

  • Monodevelop делает то, что вы ожидаете.
  • Согласовано. Я думаю, что лучший ответ для VS 2017 и новее - от chronoxor.

Начиная с Visual Studio 2017 (15.9.4) есть возможность:

Соответствующий фрагмент из документации Visual Studio:

Автоматически закрывать консоль при остановке отладки:

Сообщает Visual Studio закрыть консоль в конце сеанса отладки.

  • 4 Я только что протестировал это в VS2017 и VS2019. Это требует как настройки подсистемы на КОНСОЛЬ, так и выключения этой опции. При наличии одного или другого окно автоматически закрывается.
  • Это по-прежнему закрывает для меня окно, если я запускаю несколько проектов из одного решения.
  • Я чувствую, что это правильный ответ для VS 2017 и последующих лет. Жаль, что этого нет в старых версиях.

Если вы запускаете без отладки (Ctrl + F5), то по умолчанию он предлагает вам нажать клавишу возврата, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова на последней строке.

Щелкните правой кнопкой мыши свой проект

Свойства> Свойства конфигурации> Компоновщик> Система

Выбрать Консоль (/ SUBSYSTEM: CONSOLE) в SubSystem вариант или вы можете просто ввести Приставка в текстовом поле!

Теперь попробуйте . он должен работать

  • Это сработало для моего VS2013 Express, но принятый ответ - нет. Очень странно, поскольку принятый ответ работал для всех версий Visual Studio, которые я использовал в прошлом.
  • 9 @MichaelCalvin Вы должны запустить с Ctrl + F5 после установки этого, это кикер.
  • как заявил @JonathanMee, вы все еще использовали Ctrl + F5. Это уже было установлено в моей визуальной студии 2015, поэтому первый ответ оказался наиболее полезным.
  • Это действительно так. Знакомый CTRL+F5 не удастся, если вы, скажем, добавите новый файл C ++ в пустой проект.
  • У меня работал над Visual Studio Express 2015. Спасибо.

Вот способ для C / C ++:

  • Этот метод не работает в Visual C ++ (если вы не добавили заголовок?)
  • 2 @wmac Вы должны включить заголовок windows.h
  • 1 Я не включил ни одну библиотеку или пространство имен, но оно работает правильно, большое спасибо.
  • 1 Не делай этого, пожалуйста. В pause команда специфична для Windows.
  • У меня работал над Visual Studio 2013 Express. :)

Перейти к меню отладки->Нажмите StartWithoutDebugging

  • 10 +1 - Либо это, либо Console.ReadKey() просто ждать любой клавиши.
  • Странно, но в моем приложении это не действует. Он по-прежнему закрывается, не дожидаясь ввода данных пользователем.
  • 4 Тогда ваш код, скорее всего, завершится до того, как достигнет этой точки.
  • Не лучшее решение, если вы запускаете тесты, так как они заставят ваши тесты зависать и никогда не завершаться.

Попробуйте позвонить getchar() прямо перед main() возвращается.

  • Не работает в VS 2008 для простого консольного приложения Hello Name. cout, cin, cout, getchar (), консоль все еще закрывается. В чем дело?
  • 1 Попробуйте поместить getchar () дважды, если у вас есть cout непосредственно перед getchar (). getchar () ожидает char, а вы уже даете его cout . Сообщите мне, поможет ли это :)

(/ SUBSYSTEM: CONSOLE) не работал для моего vs2013 (у меня он уже был).

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

Решение, используемое в qtcreator до 2.6. Теперь, когда qt растет, vs идет другим путем. Насколько я помню, в vs2008 нам такие ухищрения не понадобились.

Вот решение, которое (1) не требует изменений кода или точек останова и (2) приостанавливает работу после завершения программы чтобы вы могли видеть все это было напечатано. Он будет приостановлен после F5 или Ctrl + F5. Основным недостатком является то, что в VS2013 Express (как было проверено) он не загружает символы, поэтому отладка очень ограничена.

Создайте командный файл. Я позвонил своему runthenpause.bat , со следующим содержанием:

Первая строка будет запускать любую предоставленную вами команду и до восьми аргументов. Вторая строка . пауза.

Откройте свойства проекта | Свойства конфигурации | Отладка.

Теперь, когда ты бежишь, runthenpause.bat запустит ваше приложение и после его завершения остановится, чтобы вы могли увидеть вывод консоли.

Я опубликую обновление, если выясню, как загрузить символы. Я старался /Z7 за это, но безуспешно.

  • 1 Это все еще не поддерживает отладку, но, по крайней мере, решает проблему отсутствия вывода, например. VLD, в отличие от все другие ответы.

просто введите в качестве последней строки кода:

Вы можете запустить исполняемый файл из командной строки. Таким образом, вы могли видеть весь результат. Или вы можете сделать что-то вроде этого:

и таким образом окно не закроется, пока вы не введете данные для a переменная.

  • 4 Это было бы отличным решением, если бы оно работало. pause похоже, работает только в пакетных файлах, и хотя он получает ввод от вашей программы на STDIN, он не распечатывает этот текст повторно. Я пробовал заменить | с участием && , но это не повлияло - предположительно, потому что он не выполняется с помощью командной оболочки (cmd.exe).

Просто нажмите CNTRL + F5, чтобы открыть его во внешнем окне командной строки (Visual Studio не контролирует его).

Если это не сработает, добавьте в конец кода следующее:

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

Если вы хотите сделать это в нескольких местах, поместите приведенный выше код в метод (например, private void Pause() ) и звоните Pause() всякий раз, когда программа достигает возможного конца.

Несколько лучшее решение:

в начале вашей программы.

  • можно использовать std :: exit ()
  • может иметь несколько возвратов из основного
  • вы можете запустить свою программу под отладчиком
  • Независимость от IDE (+ независимость от ОС, если вы используете cin.sync(); cin.ignore(); трюк вместо system('pause'); )
  • нужно изменить код
  • не будет останавливаться на std :: terminate ()
  • все равно будет происходить в вашей программе вне сеанса IDE / отладчика; вы можете предотвратить это в Windows, используя:
  • Очень плохой совет.
  • Можете объяснить почему?
  • В случае, когда отладка не ведется, она не делает ничего полезного, потому что в этом случае нет проблемы, которую нужно решать. В VS просто запустите программу с помощью Ctrl + F5 и все, так что в VS нет проблем, а в интерпретаторе команд нет проблем, короче говоря, нет проблем. А в случае, когда кто-то отлаживает и хочет, чтобы код остановки остановился, это не более удобное решение, чем точка останова, и вмешивается в ситуации, когда остановка не нужна.

Обязательно сделайте любой из них в конце main() функция и до return заявление.

Вы также можете использовать эту опцию

Visual Studio 2015, с участием импорт. Потому что я ненавижу, когда примеры кода не дают необходимого импорта.

Перейдите в Настройки> Отладка> Снять галочку рядом.


В настоящее время нет возможности сделать это с приложениями, работающими в WSL2. Однако есть два обходных пути:

В окне отладки сохраняется содержимое закрытого окна оболочки WSL.

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

Читайте также: