В этом руководстве мы поговорим о том, как отладить код Go с помощью Visual Studio Code, а также установить необходимые расширения, инструменты анализа и отладчики.
Сначала мы создадим простое тестовое приложение, а затем рассмотрим использование обычных и условных точек останова.
Благодаря этому набору навыков вы сможете точнее оценить состояние вашего приложения в определенные моменты выполнения его кода.
Требования
- Базовые знания по Go.
- Копия Go на вашем компьютере. Чтобы установить Go, следуйте руководству Установка Go и настройка локальной среды разработки в macOS, Ubuntu или Windows.
- Установка Visual Studio Code на вашем компьютере.
- Плагин VSCide-Go. После установки плагина откройте любой файл .go в VS Code. В правом нижнем углу строки состояния вы увидите Install Analysis Tools. Нажмите на эту ссылку, чтобы установить пакеты Go, необходимые для эффективной работы плагина.
- Установка Delve, отладчика для Go с открытым исходным кодом. Подробные инструкции по установке для конкретных платформ вы найдете здесь.
1: Создание тестового приложения
В этом мануале мы будем использовать два примера для отладки кода Go:
Урок№1. Первая программа и создание проекта на C# в Visual Studio 2019
- Программа Go, создающая файл JSON.
- Функция и тест.
Ниже вы найдете исходный код для первого примера – программы. Создайте файл main.go:
Добавьте в файл следующий код:
package main import ( «encoding/json» «fmt» «log» ) // Avenger represents a single hero type Avenger struct < RealName string `json:»real_name»` HeroName string `json:»hero_name»` Planet string `json:»planet»` Alive bool `json:»alive»` >func (a *Avenger) isAlive() < a.Alive = true >func main() < avengers := []Avenger< < RealName: «Dr. Bruce Banner», HeroName: «Hulk», Planet: «Midgard», >, < RealName: «Tony Stark», HeroName: «Iron Man», Planet: «Midgard», >, < RealName: «Thor Odinson», HeroName: «Thor», Planet: «Midgard», >, > avengers[1].isAlive() jsonBytes, err := json.Marshal(avengers) if err != nil < log.Fatalln(err) >fmt.Println(string(jsonBytes)) >
В этом коде мы определили структуру Avenger, а затем создали массив Avengers, изменили статус одного из них на “alive”, конвертировали результаты в JSON и, наконец, вывели их в STDOUT.
Вы можете запустить приложение с помощью команды:
Результат будет выглядеть так:
2: Отладка по точкам останова
Чтобы начать отладку, нам нужно создать конфигурацию. Нажмите на значок отладки в левой панели Visual Studio. Затем нажмите на шестеренку, чтобы создать конфигурацию.
Вы создадите файл конфигурации в .vscode/launch.json с показанным выше содержимым. Перенаправьте программу конфигурации на файл main.go; поскольку на данный момент у нас есть только файл main.go, мы можем перейти в root рабочей области:
[ИЗБАВЬ СЕБЯ ОТ СТРАДАНИЙ] Автоматизация запуска кода в редакторе VS Code, запуск кода по кнопке
Далее нам нужно добавить точку останова, потому что на таких точках и держится отладка.
Давайте добавим точку останова в строку 21 (func main()). Для этого кликните слева от номера строки, и вы увидите красную точку.
Затем нажмите либо F5, либо кнопку Launch в разделе Debug в левом верхнем углу, чтобы открыть представление Debug View.
Нажмите несколько раз кнопку Step Over на панели Debug Toolbar.
Отладчик в конечном итоге переместится на строку 40.
Раздел Debug покажет нам состояние текущей позиции точки останова.
Как запустить программу во всплывающем окне консоли, используя VS Code?
В настоящее время моя C ++ программа работает встроенной в окно VS Code, прямо на нижней панели. Как я могу запустить его в отдельном окне консоли, как в VS?
Я попытался изменить параметр «Вид / Терминал / Проводник» «Вид» с «Интегрированный» на «Внешний», но это не помогло.
Deuchie 12 Окт 2019 в 12:56
2 ответа
Лучший ответ
Вы можете создать конфигурацию запуска, в которой ваше приложение будет запущено в вашей операционной системе. терминал / консоль .
Например, у меня есть очень простой тестовый файл:
#include int main (void) < int num; std::cout > num; std::cout
Во-первых, установите расширение Microsoft C / C ++ VS Code, чтобы добавить поддержку для отладка файлов C ++. Полное руководство по его настройке приведено в коде VS для настройки документы.
Во-вторых, создайте задачу сборки. Откройте палитру команд, найдите Tasks: Configure Tasks и выберите подходящий компилятор C ++ (например, g ++ в моем случае). Если вы делаете это впервые, VS Code собирается создать папку .vscode / tasks.json в вашей рабочей области со встроенной задачей по умолчанию. Настройте его для создания своего приложения, например так:
< «version»: «2.0.0», «tasks»: [ < «label»: «build-test», «type»: «shell», «command»: «/usr/bin/g++», «args»: [ «-g», «$/app/test.cpp», «-o», «$/app/test» ] > ], >
В-третьих, создайте задачу запуска. Откройте панель «Отладка» (с правой боковой панели), щелкните раскрывающийся список, выберите Добавить конфигурацию , затем выберите C ++ . Опять же, если вы делаете это в первый раз, VS Code собирается создать файл .vscode / launch.json в вашей рабочей области с заданием запуска по умолчанию. Настройте его для запуска вашего приложения, например так:
< // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 «version»: «0.2.0», «configurations»: [ < «name»: «run-test», «type»: «cppdbg», «request»: «launch», «preLaunchTask»: «build-test», «program»: «$/app/test», «cwd»: «$», «externalConsole»: true, «args»: [], «environment»: [], «stopAtEntry»: true, «MIMode»: «lldb» > ] >
Важными конфигами здесь являются «preLaunchTask»: «. » и «externalConsole»: true . preLaunchTask должен быть установлен на задачу сборки, установленную ранее. externalConsole , если задано false , открывает его во встроенной консоли. Поскольку вы не хотите запускать его на встроенной консоли, установите для него true .
Теперь, когда вы захотите запустить свое приложение, просто перейдите на панель «Отладка» и запустите задачу запуска (то же имя, что и name , который вы указали в launch.json ). Обратите внимание, что в конфигурации launch.json я установил stopAtEntry равным true , чтобы дать мне возможность увидеть окно внешней консоли и затем ввести информацию в приглашение. Вы можете удалить его, если вам это не нужно.
Если все пойдет хорошо, он запустится, запустив внешнюю консоль.
Опять же, для получения дополнительной информации см. кодекс VS Code. Docs.
Gino Mempin 12 Окт 2019 в 12:05
На самом деле довольно легко. Откройте новое окно кода VS и откройте терминал. И скопируйте и вставьте точную команду компиляции и запуска программы на C ++. Таким образом, у вас было 1 окно для просмотра кода и еще одно окно для выполнения программы.
Источник: question-it.com
Запускаем Visual Studio .NET
Как я уже писал во введении, VB входит в состав единой программы, которая называется среда программирования Visual Studio.NET и обеспечивает программисту возможность удобной разработки программ на VB и некоторых других языках. Поэтому, чтобы программировать на VB, вам нужно запустить Visual Studio.NET. Английские слова «Visual Studio» можно вольно перевести, как «Визуальная студия», то есть то место, где художник (программист) может творить свои произведения (программы) визуально (имеется в виду 1 этап – сборка вручную).
В дальнейшем вместо слов «Visual Studio .NET» я часто для краткости буду писать VS. Не путайте VS и VB. Когда я пишу VB, я имею в виду язык программирования, все то, что связано с самой программой, с правилами написания программного текста и его смыслом.
Когда я пишу VS, я имею в виду среду программирования, то есть все то, что создает удобства и возможности программирования, загрузки, сохранения программ, их просмотра и настройки взаимодействия. Аналогии: VB – это бифштекс, VS – ресторан и официанты; VB – это мозг, VS – это тело; VB – это программа, VS – это компьютер. Однако, надо признаться, что не всегда удается четко сказать, где кончается VS и начинается VB.
Если VS у вас на компьютере не установлена, читайте 4.1, а если установлена, то запускайте ее следующим образом:
Нажмите на панели задач Windows кнопку «Пуск» (Start), в появившемся меню выберите «Программы» (Programs), затем в появившемся меню – Microsoft Visual Studio.NET, а затем в появившемся меню – снова Microsoft Visual Studio.NET. (В дальнейшем вместо словесного описания щелчков мыши в меню я для краткости буду писать так: Пуск ® Программы ® Microsoft Visual Studio .NET ® Microsoft Visual Studio .NET).
Если вы впервые запускаете VS, то в результате запуска на экране появляется главное окно VS со стартовой страницей(Start Page). Если у вас установлена Visual Studio .NET 2003, то окно имеет примерно такой вид, как на Рис. 1.1.
Если у вас установлена Visual Studio .NET, то окно имеет примерно такой вид, как на Рис. 1.2. Разница между окнами чисто внешняя.
Если вы запускаете VS не впервые, то в главном окне может и не быть стартовой страницы или она может иметь несколько другой вид. Сейчас это не важно, стартовая страница нам пока не понадобится. В любом случае вы можете почитать о ней в 4.3.
В заголовке окна вы видите слова Microsoft Development Environment, что означает «Среда разработки программ фирмы Microsoft». Смысл этих слов такой же, что и у слов «Visual Studio».
Создаем проект
Теперь вам нужно сообщить компьютеру, что вы хотите создать новый проект на языке VB. Ваши действия: File ® New ® Project. Перед вами возникает диалоговое окно (см. Рис. 1.3):
В левом поле вы выбираете Visual Basic Project в знак того, что хотите создавать проект именно на языке VB. В правом поле вы выбираете Windows Application (Приложение Windows) в знак того, что собираетесь создавать обычную программу, которая должна работать на вашем настольном компьютере или ноутбуке под управлением Windows в обычном окне. В этом поле вы могли бы выбрать, например, создание программы для работы в Интернете или что-нибудь другое.
Чуть пониже, в поле Name компьютер предлагает нам название вашего будущего проекта и одноименной папки, в которой он будет сохраняться – WindowsApplication1, а еще ниже, в поле Location компьютер предлагает папку, в которой будут храниться папки всех ваших будущих проектов – E:Documents and SettingsSergey LukinMy DocumentsVisual Studio Projects. Если вы сейчас нажмете ОК, то внутри этой папки тут же будет создана папка WindowsApplication1 и в ней немедленно появятся все необходимые файлы, которые и будут составлять ваш будущий проект.
Запомните: каждый проект состоит не из одного файла, а из нескольких файлов и папок, поэтому было бы глупо пытаться сохранять файлы и папки разных проектов «скопом» в одной папке. Они просто перемешаются. VS прекрасно это понимает и поэтому предлагает вам сохранять проект в отдельную папку. Вам остается только согласиться.
Если вы согласитесь также на имя WindowsApplication1, то для следующего нового проекта VS предложит уже папку WindowsApplication2 и так далее. Все эти папки будут находиться рядышком внутри папки Visual Studio Projects, как показано на рисунке, изображающем фрагмент Проводника Windows.
Если вам не нравится папка Visual Studio Projects, то вы можете выбрать другую кнопкой Browse (неопытным не рекомендую).
Но мы щелкать на ОК все равно пока не будем, так как нам нужно придумать более подходящее, чем WindowsApplication1, имя для проекта. Поскольку смысл его, как я наметил, будет заключаться в том, чтобы «покрасить» некую «форму, то и введем в поле Name название Красим форму, после чего и нажмем ОК. Проект теперь будет храниться в папке с этим названием.
Перед вами возникнет следующая картинка (Рис. 1.4), говорящая о том, что вы можете приступать к проектированию (внешний вид картинки у вас может быть немножко другой).
В заголовке окна вы теперь видите слова Microsoft Visual Basic.NET. Это означает, что среда разработки программ Visual Studio .NET приняла одно из своих обличий, а именно стала Средой разработки программ на VB. Если бы вы создавали проект на C++ .NET, то VS надела бы другую маску и выглядела бы немного по-другому.
Перейдите в Windows и проверьте содержимое появившейся папки Красим форму. Вы видите, что ваш проект состоит из нескольких файлов и папок.
На будущее хочу предупредить, что, если до вас в VS уже кто-то работал, то он мог перенастроить среду так, что она в чем-то будет вести себя совсем по-другому, чем я написал. В этом случае, если вы наткнетесь на трудности, изучите предварительно Глава 4. . Во всяком случае, не рекомендую щелкать по кнопкам и пунктам меню, смысла которых вы не понимаете. Старайтесь также не отвлекаться на большое количество присутствующих на экране кнопок и окон, о которых я пока умалчиваю, чтобы не утонуть в подробностях.
Источник: megaobuchalka.ru