#c# #visual-studio-code #vscode-debugger #omnisharp
#c# #visual-studio-код #vscode-debugger #всеохватывающий
Вопрос:
Я использую vs code и ms-dotnettools.csharp
расширение для отладки внешнего exe-процесса, написанного в C # .NET 4.6 Framework. Я подключаюсь к этому процессу с приведенной ниже конфигурацией
"configurations": [
{
"name": "Attach to ConsoleApp",
"type":"clr",
"request": "attach",
"processName": "ConsoleApp",
}]
Это работает довольно хорошо до того момента, когда я закрываю код Visual Studio после достижения точки останова и выполняю некоторые шаги отладки. Приложение, к которому был подключен процесс, завершает работу без какой-либо информации, даже средство просмотра событий Windows не содержит никакой информации. Однако остановка отладчика без закрытия VSCode работает очень хорошо, поэтому я предполагаю, что это может быть проблема с vscode, а не с самим расширением C #.
Хотя этот сбой происходит не каждый раз, например, я чаще воспроизводлю его на более медленной виртуальной машине, чем на более быстрой локальной системе.
Что происходит, когда VSCode закрывается? Будет ли это корректно останавливать запущенное расширение?
Шаги для воспроизведения:
- Создайте .NET x64 exe-приложение с DebugType portable
- Запустите exe-файл.
- Откройте VSCode с расширением C #.
- Запустите отладчик, который будет подключен к запущенному exe-файлу.
- Установите точку останова.
- Достигнута точка останова.
- Выполните несколько шагов отладки.
- Закройте Visual Studio Code.
- EXE-файл, к которому был подключен отладчик, завершает работу без какой-либо информации.
- Возникает ли эта проблема, когда все расширения отключены?: Нет. Для этой проблемы требуется расширение ms-dotnettools.csharp
- Версия VSCode: 1.51.1
- Версия ОС: Windows 10.0.18363
- ms-dotnettools.csharp Версия: 1.23.6
Комментарии:
1. Если вы подозреваете, что это проблема с инструментом, подумайте о том, чтобы сообщить об ошибке команде VSCode или проекту расширения ms-dotnettools.
2. У VS code нет опции «Отсоединить от процесса»? Попробуйте выполнить это перед закрытием VSCode.
3. @PMF Я устал от написания собственного расширения vscode и выполнения
workbench.action.debug.disconnect
команды вdeactivate
методе, который выполняется при закрытии vscode, но это ничего не меняет.4. @Cleptus Спасибо за подсказку. проблема с github