что я делаю не так с этой настройкой отладки ядра dotnet? - PullRequest
0 голосов
/ 22 октября 2018

Я довольно плохо знаком с ядром dotnet, и я только начал работу над новым проектом, в котором уже есть приложение, написанное на ядре dotnet.Существует существующее консольное приложение, написанное на ядре dotnet.Я могу запустить приложение в VS в режиме отладки и получить точку останова в первой строке кода в методе Main ().Мне нужно следовать некоторым инструкциям в документации, в которых говорится, что приложение должно быть выполнимо из консоли powershell как «dotnet run - -a».Я попытался «Отладка> Присоединить к процессу> dotnet.exe» в консольном приложении, но когда я выполняю команду «dotnet run - -a» через консоль PowerShell, точку останова в первой строке кода в методе Main ()не получил удар.Есть идеи, что я здесь не так делаю?

1 Ответ

0 голосов
/ 22 октября 2018

Когда вы используете функцию «Присоединить к процессу» в Visual Studio, вы присоединяете отладчик к уже запущенному процессу.Поскольку вы запускаете процесс сначала с помощью dotnet run, весьма вероятно, что к моменту подключения отладчика начало вашего приложения уже будет запущено.

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

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

Для этого откройте свойства проекта и перейдите на вкладку «Отладка».,Там выберите «Исполняемый файл» в качестве типа «Запуск» и затем укажите необходимые параметры для запуска приложения:

Running dotnet.exe as the executable debug target

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

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