Visual studio 2017 не работает отладка

Ошибки удаленной отладки и их устранение

Во время удаленной отладки возможны перечисленные ниже ошибки.

Запуск удаленного отладчика в качестве администратора

Если удаленный отладчик запускается не от имени администратора, могут возникнуть проблемы. Например, возможна следующая ошибка: «У удаленного отладчика Visual Studio(MSVSMON.EXE) недостаточно привилегий для отладки этого процесса». При запуске удаленного отладчика в качестве приложения (а не службы) может возникнуть ошибка, связанная с использованием другой учетной записи пользователя.

Запуск удаленного отладчика как службы

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

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

Могут предотвращаться ошибки, возникающие, когда у пользователя Visual Studio больше прав на отладку процесса, чем у самого удаленного отладчика.

Это позволяет упростить установку и настройку удаленного отладчика.

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

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

Учетная запись должна иметь права на отладку целевого процесса. Чтобы получить эти права, необходимо запустить удаленный отладчик с той же учетной записью, что и отлаживаемый процесс. (Проще запустить службу от имени администратора.)

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

Запуск удаленного отладчика как приложения (обычный режим)

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

Удаленный отладчик желательно запускать от имени администратора в нескольких сценариях:

Необходимо присоединиться к процессу, запущенному от имени другого пользователя (например, при отладке IIS).

Вы пытаетесь запустить другой процесс от имени администратора.

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

Источник

Отладчик Visual Studio 2017 не работает — отображается «Присоединить к процессу»

Я новичок в C ++ и только что скачал Visual Studio 2017 на прошлой неделе.

Я пытаюсь запустить простую функцию в Visual Studio, но не могу запустить отладку. Когда я нажал зеленую стрелку для отладки, появилось сообщение Присоединить к процессу . Нет параметра MSVSMON.EXE в разделе Цель подключения: [идентификатор моего ноутбука] и нет других параметров, когда я переключил Тип подключения на значение по умолчанию. Мне не удалось найти вариант загрузки MSVSMON.EXE отдельно в Интернете. Присоединить к окну процесса В параметрах Отладка было показано, что Начать отладку неактивен. Конфигурации решения и Платформы решений пусты и не могут быть изменены. Окно отладки Я использую Visual Studio 2017 для изучения OpenFrameworks, но столкнулся с указанной выше проблемой. Я попытался запустить тот же код в Visual Studio Code, и он отладился как обычно, но мне нужна версия 2017 года для класса. Пример, который я использую в файле .cpp, следующий:

Читайте также:  Не дождетесь не сломаюсь

Спасибо за помощь!

1 ответ

Я попытался запустить тот же код в Visual Studio Code, и он отладился как обычно, но мне нужна версия 2017 года для класса.

Сначала проверьте, открыли ли вы решение или проект, а не файл cpp . Как правило, вся информация о конфигурации отладки хранится в файле xxxx.vcxproj и скрытой папке .vs, которая находится в папке всего проекта.

Решение

Сначала попробуйте нажать Файл Объект / решение , чтобы открыть <> или xxx.vcxproj файл. Кроме того , щелкните правой кнопкой мыши проект, который нужно отладить, и выберите Установить как запускаемый проект .

Примечание : в каждом проекте может быть только один основной файл cpp. Или вы можете просто добавить эти коды напрямую в основной файл cpp.

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

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

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

Кроме того, если вы создаете проект OpenFrameworks с помощью другого стороннего инструмента для его создания, а затем открываете проект в VS2017, я думаю, вы не сможете этого сделать. Несовместимость и другие проблемы могут возникнуть из-за того, что сам проект, созданный другими инструментами, не совпадает со структурой проекта, созданной VS2017.

Итак, попробуйте следующие шаги для создания проектов OpenFrameworks с VS2017:

1) установите расширение openFrameworks на <> -> Extension and Updates .

2) После этого, когда вы создаете проект openFrameworks в VS2017, не забудьте добавить путь к папке of_v0.11.0_vs2017_release , которая загружается из эту ссылку.

Вы можете следовать этому руководству, чтобы получить более подробные инструкции.

Источник

Visual Studio 2017 не работает режим отладки

Проблема в следующем. При запуске проекта через

если запускаешь проект через режим отладки то результат такой

И если ты пытаешься зарегиться или войти выдаёт

Не могу понять почему. вот файл Program.cs

В чём может быть причина? В режиме IIS всё работает!

Вспомнил ещё одну вещь. Когда не помню, но начал ругаться на ILogger Нашёл решение

До конца не понял почему но это работает. Может прольёт свет!

1 ответ 1

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

InvalidOperationException: Unable to resolve service for type’Microsoft.Extensions.Logging.ILogger’ while attempting to activate ‘Laboratory56.Controllers.AccountController’.

Исключение вызвано тем, что вы пытаетесь получить нетипизированный логгер, а стандартная система логгирования регистрирует в DI только типизированный, ILogger

Т.е у вас сейчас конструктор AccountController выглядит примерно так:

А должен выглядеть вот так (как в шаблоне .NET Core 2.0):

В IIS у вас работает, потому что там вы уже залогинены, и ссылка ведет на другое действие.

Источник

Visual Studio (SSDT) 2017 не может начать отладку

Я недавно установил Visual Studio 2017 из пакета SSDT. Я тестирую простой сценарий — источник плоских файлов и назначение OLEDB без участия сценариев C # или VB, а также в коде нет точек отладки отладки. Когда я пытаюсь выполнить пакет для проекта SSIS, я получаю сообщение об ошибке:

Microsoft Visual Studio Невозможно начать отладку. Отладчик установлен неправильно. Запустите программу установки, чтобы установить или восстановить отладчик.

Невозможно запустить программу «DTS».

Читайте также:  Управление с контроллера домена не работает

Библиотека DLL программы Visual Studio с именем coloader80.dll установлена неправильно. Восстановите установку Visual Studio с помощью апплета «Установка и удаление программ» на панели управления.

Если проблема сохраняется, вы можете вручную зарегистрировать библиотеку coloader80.dll> из командной строки, используя инструкцию «regsvr32″% CommonProgramFiles% \ Microsoft Shared \ VS7Debug \ coloader80.dll «». (Microsoft Visual Studio Debugger)

Я удалил содержимое папки C: / Program Files / Common Files / Microsoft shared / VS7Debug и переустановил VS, но в моем случае это не работает.

Любые другие идеи будут оценены.

3 ответа

Я попробовал те же самые решения без результата.

Сегодня я решил с этим решением:

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

Обновление SSDT было проблемой само по себе, потому что Microsoft отмечает на странице загрузки SSDT, что ВАЖНО сначала удалить SSDT, а затем переустановить SSDT. Однако при запуске деинсталлятора для SSDT он предупреждает пользователя о том, что не все компоненты будут удалены, поскольку он оставит компьютер в неподдерживаемом состоянии и что эти компоненты необходимо будет удалить вручную на панели управления (т. Е. В разделе «Программы и компоненты»). ) . Проблема в том, что Microsoft не указывает, какие компоненты необходимо удалить. Мне пришлось обратиться к нашему специалисту технической поддержки Microsoft Premier, и он смог предоставить список компонентов, которые нужно удалить (см. Изображение веб-ссылки ниже).

Примечание: в некоторых случаях этого списка достаточно. Однако, если у вас есть дополнительные компоненты Microsoft Visual C ++ 20nn Redistributable (x86 / x64), их, возможно, также придется удалить. В противном случае установщик SSDT может аварийно завершить работу. Копаться в журнале ошибок установщиков это укажет.

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

  1. Вы используете либо задачу скрипта C # (поток управления), либо компонент скрипта C # (поток данных, в котором есть точка останова)
  2. Вы можете успешно скомпилировать и выполнить пакет
  3. Задание выполняется до тех пор, пока не достигнет компонента C #, который имеет точку останова, а затем постоянно работает без каких-либо изменений или ошибок.
  4. Отладчик VSTA не запускается
  5. Предоставленное вами сообщение об ошибке отображается на вкладке Результаты выполнения (т. Е. Журнал)

Если это так, то я полагаю, что вы столкнулись с ошибкой в отладчике VSTA, когда он не может запуститься, потому что вы делаете что-то в коде, который ему не нравится — это, конечно, бесполезно для Microsoft. Кроме того, это означает, что вряд ли что-то не так с вашей установкой Visual Studio, SSDT или VSTA. Скорее всего, в вашем коде есть что-то, что не нравится отладчику VSTA, из-за чего он не запускается и выдает ошибочное сообщение об ошибке.

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

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

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

  1. Используется строковая интерполяция.
Читайте также:  Не работает росреестр выписки егрн

Обходной путь: используйте string.format(«String text here with variable param here <0>and here <1>«, param1, param2);

  1. TryGetValue используется в словаре, чтобы увидеть, существует ли значение перед его извлечением.

Обходной путь: Ни о чем я не знаю. Смотрите мой вопрос по этому вопросу на:

Если ваша проблема не подпадает ни под одно из вышеперечисленных, то я хотел бы знать, какую новую проблему вы обнаружили, и какой обходной путь вы создали, поскольку мне было бы полезно знать (я много знаю в SSIS / C # ) . Я могу помочь в разработке обходного пути, если у вас возникли какие-либо проблемы с ним.

Примечание. Если комментирование всего вашего кода по-прежнему мешает отладчику работать, попробуйте добавить новый компонент C #, который делает что-то простое, например, отображает окно сообщения или задает значение переменной (т.е. int intValue = 1; ). Если это все еще не работает, то вы можете рассмотреть возможность переустановки VSTA и SSDT. Надеюсь, вам не нужно делать этот шаг.

Источник

Отладка приложения, которое не входит в решение Visual Studio (C++, C#, Visual Basic, F#)

Иногда требуется выполнить отладку приложения (EXE-файл), которое не является частью решения Visual Studio. Это может быть проект с открытой папкой, вы или кто-то другой мог создать приложение вне Visual Studio или вы получили приложение в другом месте.

Для проекта с открытой папкой в Visual Studio (без файла проекта или решения) см. статью Выполнение и отладка кода или (для C++) Настройка параметров отладки с помощью launch.vs.json.

Для приложения, которое не существует в Visual Studio, отладка обычно выполняется путем запуска за пределами Visual Studio, а затем присоединения с помощью функции Присоединение к процессу в отладчике Visual Studio. Дополнительные сведения см. в статье Присоединение к выполняемым процессам.

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

В таких ситуациях можно создать проект Visual Studio EXE для приложения или импортировать его в существующее решение C#, Visual Basic или C++. Не все языки программирования поддерживают исполняемые проекты.

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

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

Если у вас нет исходного кода и у приложения нет отладочной информации в совместимом формате, вам доступно немного функций отладки.

Создание EXE-проекта для существующего приложения

В Visual Studio последовательно выберите Файл > Открыть > Проект.

В диалоговом окне Открыть проект выберите Все файлы проекта, если они еще не выбраны, в раскрывающемся списке рядом с полем Имя файла.

Перейдите к EXE-файлу, выберите его и щелкните Открыть.

Файл появится в новом временном решении Visual Studio.

Запустите отладку приложения, выбрав команду выполнения, например Начать отладку в меню Отладка.

Чтобы импортировать приложение в решение Visual Studio

Когда решение C++, C# или Visual Basic будет открыто в Visual Studio, выберите Файл > Добавить > Существующий проект.

В диалоговом окне Открыть проект выберите Все файлы проекта, если они еще не выбраны, в раскрывающемся списке рядом с полем Имя файла.

Перейдите к EXE-файлу, выберите его и щелкните Открыть.

Файл появится как новый проект в текущем решении.

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

Источник

Оцените статью