Не работает отладка в visual studio 2019
Я хотел бы иметь возможность отлаживать приложение Angular2 с помощью кода Visual Studio.
Здесь моя среда:
-
ОС: Ubuntu 16.10 x64 Браузер: Chromium 53.0.2785.143 Узел: 6.8.0 Angular-cli: 1.0.0-beta.19-3
Создание нового проекта с angular-cli:
Затем я открываю VSC и загружаю проект: File/open folder
Я нажимаю на логотип debug и configure launch.json , выбрав chrome . Создает следующий файл:
Затем я просто запускаю проект angular2, выполнив:
Как только это началось, в VSC я выбираю: "Запустить Chrome против localhost, с исходными картами".
Затем я получаю следующую ошибку:
"Не удается найти chrome: установите его или установите поле runtimeExecutable в конфигурации запуска".
Итак, я установил:
"runtimeExecutable": "хром-браузер"
(поскольку у меня нет хрома, но хром на моем Ubuntu).
Порт Angular-Cli по умолчанию для запуска приложения - 4200. Измените URL-адрес с: " http://localhost: 8080 " на " http://localhost: 4200 ".
Теперь браузер открывает приложение, но VSC имеет следующую ошибку: "Не удается подключиться к процессу выполнения, время ожидания превышает 10000 мс - (причина: не удается подключиться к цели: подключено ECONREFUSED 127.0.0.1:9222".
Я пытаюсь снова запустить отладку: та же ошибка, что и раньше (не удается подключиться).
Я также видел, что следующие аргументы могут помочь:
Но это ничего не меняет.
Я решил использовать VSC для моих разработчиков машинописного текста (в основном angular2), и этот способ отладки кажется очень мощным. У меня такое чувство, что было бы слишком плохо не использовать его :).
Спасибо за любую помощь!
РЕДАКТИРОВАТЬ 1: . Частичное улучшение . Я нашел способ получить отладочную информацию в консоли кода Visual Studio! Так что это еще не идеально, так как точки останова не работают, но вот в чем дело. До сих пор, если я открыл http://localhost: 9222, я не смог ничего увидеть. ("localhost не авторизовал соединение").
НО, если я запускаю хром вот так:
Важно отметить этот аргумент: --user-data-dir=remote-profile . Если вы просто передадите --user-data-dir, то откроется новое окно, в котором никто не подключен. Но этого недостаточно. Вам необходимо передать удаленный профиль в качестве значения.
-
открывается новое окно браузера Я открываю http://localhost: 4200 И я также могу связаться с http://localhost: 9222 ! Я могу подключить VSC с опцией "Присоединить к Chrome с исходной карты"! (как вы видите, у меня действительно "Angular 2 работает в режиме разработки. Вызовите enableProdMode(), чтобы включить производственный режим.", Отображаемым в консоли, и нижний колонтитул теперь имеет оранжевый фон)
До сих пор, я надеюсь, что это может помочь некоторым людям. Но проблема в том, что точки останова не работают.
Решение
(1) Убедитесь, что ваше приложение находится в режиме отладки (не в режиме выпуска).
(2) Пожалуйста, включите параметры, такие как следующий снимок экрана.
Другие решения
Есть несколько вещей, которые вы можете проверить.
Прежде всего убедитесь, что код, в котором установлена точка останова, достижим. Поместите его в точку входа вашего приложения.
Есть вероятность, что символы отладки где-то перепутались. Следовательно, попробуйте очистить / перестроить проект (вы можете попробовать удалить каталог bin / build вручную).
В Build-> Configuration Manager вы также можете проверить, действительно ли «Отладка» для конфигурации решения заставляет ваш проект выполняться в режиме отладки.
94 Saint [2012-02-21 11:49:00]
Когда я нахожу F5 (режим отладки), ничего не происходит. Строение работает правильно, exe файл, который я могу запустить правильно, но не могу запустить debug. Почему?
У меня была та же проблема, и все трюки не сделали этого, пока я не снял флажок "Включить хостинг Visual Studio" на вкладке отладки в свойствах проекта
45 mo. [2012-09-25 21:18:00]
Тьфу! Я испытывал те же самые симптомы, что и вы, и после того, как вы пробовали все предложения, единственным, кто работал, был ваш собственный: создание нового проекта и копирование всего содержимого.
Затем я заметил, что я не могу вручную удалить свой каталог Bin, и я понял, что MyApp.vshost.exe все время работал в фоновом режиме, не позволяя себе перезаписывать Visual Studio 2012. Не знаю, как это сделать все еще работал с VS2010:/
В итоге, решение, которое сработало для меня: Убейте процесс, повторите попытку.
Другими словами, вы пытались отключить и снова включить?
Перезагрузите VS и попробуйте отладить. Некоторое время это случается, даже у меня также была та же проблема.
Извините, что поставил старый вопрос, но сегодня у меня была такая же проблема, но причина была в том, что из-за порядка сборки решения. Если вы перейдете в Solution Property Pages → Common Properties → Startup Project .
Выбрано Multiple startup projects , переместите веб-проект в начало списка.
В моем решении для веб-приложений у меня есть 2 веб-проекта и 5 проектов кода, один из моих проектов кода был наверху, и поэтому отладка не запускалась.
Надеемся, что другие найдут это полезным
5 Neil [2016-03-14 14:10:00]
Это решение уже было упомянуто, но для его работы потребовалось некоторое вмешательство, поэтому ясное решение
На вкладке "Проект/вкладка" выберите "Свойства". (или в вашем браузере решений) Перейдите на вкладку "Отладка". Снимите флажок Включить процесс хостинга Visual Studio. (Снимите флажок) проверьте, работает ли он. если он не перезагружает ваш компьютер (некоторые из файлов проектов работают в фоновом режиме, если вы знаете, как их остановить, перезапуск не обязательно просто заканчивает их задачи) перестроить проект
это должно решить проблему
Что помогло мне решить эту проблему:
- закрыть решение
- удалить файл solution.suo
- повторно открыть решение
Перед тем, как пройти интенсивное исправление. попробуйте это!
Просто запустите файл .exe в папке отладки. "Не закрывай!"
Запустите отладчик в Visual Studio. (i) Должна появиться ошибка. просто скажите "нет"
Закройте файл ".exe", который вы начали на этапе "1".
По какой-то причине визуальная студия застряла в этом приложении, которое я строю, но это сработало для меня.
Во-первых, в свойствах проекта и на вкладке Debug убедитесь, что ваш Start Action установлен на Start Project , а не какой-либо другой параметр, который не будет работать. Если это не разрешило, то:
Перейдите к Tools -> Options -> Environment -> Keyboard и в Show commands containing: введите Debug.Start и убедитесь, что для параметра Shortcuts for selected command: установлено значение F5 (Global) . Также убедитесь, что у вас нет ничего другого, сопоставленного с F5, который может конфликтовать.
Наконец, если это не решит вашу проблему, я предлагаю вам экспортировать текущие настройки среды в качестве резервной копии, а затем reset все настройки среды полностью. Посмотрите, разрешит ли это, если нет, а затем reimport ваши старые настройки и попробуйте восстановить визуальную студию.
закройте проект и удалите все файлы в папке projectinDebug , чтобы создать новое решение для отладки
1 joa [2013-04-23 23:19:00]
Перейдите в Обозреватель решений, щелкните правой кнопкой мыши проект, перейдите в свойства, нажмите "Отладка", внизу снимок установлен, установите флажок "Включить отладку SQL Server".
1 jmurphy [2013-05-22 20:10:00]
Убедитесь, что на вкладке "Проект" → "Свойства" → "Отладка" → "Начало действия", которые "Не запускать, но отлаживать мой код при запуске", не проверяется. Как-то это прошло через месяц после того, как я создал и работал над моим проектом.
Отметив это, я решил проблему.
У меня была такая же проблема с моим настольным приложением, и как этот форум говорит, что вы должны пометить свой проект как проект запуска, поскольку визуальная студия без опознавательных знаков.
Это сработало для меня отлично, и я считаю, что это поможет другим людям, которые могут иметь эту проблему.
0 Aidal [2016-10-13 13:35:00]
У меня была такая же проблема (видимо, несколько лет спустя), где я мог видеть свое устройство в VS 2015, но когда я хотел отлаживать устройство, ничего не происходило.
Это может быть другой вопрос, чем тот, который был у оригинального плаката, но это решение устранило проблему для меня в VS 2015.
Щелкните правой кнопкой мыши решение и выберите "Свойства", а затем отметьте, установлен ли флажок для вашего решения в столбце "Развернуть", если это не так, проверьте его и повторите попытку отладки. Работал для меня.
У меня была эта проблема в приложении WPF, над которым я работал. При запуске отладчика процесс с именем MyApp.VsHost.exe запускается и продолжает работать в фоновом режиме, но исключений не было бы выбрано и ничего в окне вывода, кроме информации о сборке.
Это произошло потому, что я изменил пространство имен моего класса App , но не обновил атрибут Class в App.xaml , чтобы соответствовать новому пространству имен. Я изменил пространство имен в файле xaml, и он снова работал.
Быстрое исправление, которое может помочь кому-то:
Если вы работаете с пакетом SSIS или с решением с несколькими приложениями внутри него. Удостоверьтесь, что у вас есть правильный набор приложений в качестве "Начального проекта".
Если у вас есть отдельный проект приложения или SSIS в той же папке, ваша Visual Studio, вероятно, создает это вместо того, что вы хотите запустить.
Надеюсь, это поможет!
У меня была такая же проблема, и, глядя на ответ брзлвеловера, я нашел следующую проблему, которая, казалось, работала для меня. Проводя это, если кто-то другой имеет такую же проблему, они также могут проверить это.
0 Annye [2015-02-19 15:30:00]
Я нашел решение:
- Закройте решение для Visual Studio
- Откройте заголовок проекта .csproj с помощью блокнота ++, например.
- Поиск тегов в разделе
- Удалить тег конфигурации полностью
- Откройте свое решение, и для меня теперь отладка работает над моим проектом.
0 GlennG [2013-06-03 02:07:00]
Этот процесс обычно работает для меня:
0 toregua [2013-01-23 15:39:00]
Я нашел решение:
- Закройте решение для Visual Studio
- Откройте заголовок проекта .csproj с помощью блокнота ++, например.
- Найдите false в разделе
Visual Studio 2010
В консоли управления пакетами я запустил
и мое решение могло бы скомпилироваться.
Такая же ошибка, попробовал выполнить VS как Администратор, и он сработал.
Я столкнулся с этой проблемой. В моем случае, как-то пропустили проект проекта запуска. Поэтому убедитесь, что один из проектов в вашем решении explorer задан как проект запуска. Чтобы настроить проект запуска, щелкните правой кнопкой мыши по желаемому проекту в проводнике решений → нажмите " Установить как проект запуска"
Мой опыт работы с Visual Studio 2015, я попробовал удалить все процессы и перезапустить, это не сработало. Я попытался удалить каталог bin, это не сработало.
Проверьте Configuration Manager, убедитесь, что все проекты компилируются для одной и той же платформы.
Я отключил процесс хостинга, чтобы обойти проблему его оставления и оставить файлы заблокированными. Когда я это сделал, я обнаружил, что окно консоли не появилось, когда я ударил F5 для отладки, хотя моя программа прошла нормально. Затем я заметил, что у меня установлен флажок "Предпочтительный 32-разрядный". Я отмахивался от этого, перестроил и окно консоли появилось еще раз. Это показалось странным, поэтому я снова отметил его и подтвердил, что могу воспроизвести это поведение. Я использую Visual Studio 2013.
-1 Saint [2012-02-21 12:36:00]
Наконец я создал другой проект и скопировал существующие файлы и папки. Может быть, "непрофессиональный", но он работает:) К счастью, это небольшой проект
У меня очень смешное решение, но это сработало для меня,
Удерживайте клавишу F5, пока не увидите, что отладка началась, я серьезный парень.
Сообщество, где люди делятся уникальным опытом
Вопросы и ответы по любой теме от IT сообщества
Помогаем строить карьеру в IT-индустрии
Биржа удаленной работы для IT-специалистов
Хабр Q&A — вопросы и ответы для IT-специалистов
Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.
По моему скромному мнению стоковая Arduino IDE представляет из себя убогий блокнот не соответствующий современным требованиям для разработчика. Многие сторонние блокноты имеют на порядок больше функционала, чем среда разработки Arduino IDE, а они всего лишь блокноты. Для новичка это особо актуально иметь среду разработки которая всеми силами помогает тебе писать правильно с подсветкой синтаксиса, автодополнением , подсветкой ошибок на лету, подсказками, быстрыми переходами и т.д., а самое главное имеется режим отладки во время исполнения кода в микроконтроллере и все это есть в Visual Studio 2019 с расширением vMicro. Но есть и другая сторона медали: данное расширение теперь платное и стоит не так уж дешево. Имеется триальный период использования в 90дней, без возможности отладки. И никто не отменял глюки и непонятное поведение этого расширения.
Я узнал о данном расширении совсем недавно и имею посредственное представление о его возможностях.
Установка расширения vMicro в Visual Studio 2019 Community
Данное расширение можно поставить начиная с Visual Studio 2015. Для работы расширения у вас уже должно стоять Arduino IDE.
Запускаем Visual Studio 2019 и жмем продолжить
В меню "Расширения" нажимаем "Управление расширениями". В открывшемся окне с лева выбираем «В сети» и справа в поиск вбиваем Arduino. Жмем скачать.
Теперь закрываем Visual Studio 2019, начинается процесс установки.
В открывшемся окне жмем «Изменить»
Установка завершена, жмем «Закрыть». Запускам Visual Studio 2019. Жмем «Создать проект» выбираем Arduino project и проходим мастер создания проекта.
В какой-то из моментов у вас выскочит окно конфигурации расширения, где необходимо указать путь куда установлена Arduino IDE.
Основные элементы управлением расширением выведено в отдельную строку на панели инструментов. Все тоже самое, что и в родной Arduino IDE.
Ошибки, глюки и проблемы
Я использую ОС Windows 10 и столкнулся со следующими проблемами.
2)Если вы используете сторонние библиотеки в своем проекте, то необходимо прописать пути к ним в проекте. Справа на проекте правой клавишей мыши жмем "свойство", переходим в «Каталоги VC++» - "Включаемые каталоги" – изменить и добавляем пути к исходникам включаемых библиотек.
Учтите что Debug и Release имею независимые настройки среды т.е. поменяв этот профиль вы поменяете настройки среды для проекта.
Если после добавления путей к файлам библиотек у вас возникают ошибки в самих библиотеках, в которых компилятор ругается на заголовочные файлы, то вам необходимо просто продублировать подключения этих библиотек в основном скетче.
Как предотвратить закрытие окна консоли в 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.
Окно остается открытым, если ваше приложение возвращает ненулевой код возврата, поэтому, например, вы можете вернуть ненулевой код в отладочных сборках.
Читайте также: