Принципы отладки для начинающихhow to debug for absolute beginners

Команда «Шаг с заходом»

Команда «Шаг с заходом» (англ. «Step into») выполняет следующую строку кода. Если этой строкой является вызов функции, то «Шаг с заходом» открывает функцию и выполнение переносится в начало этой функции.

Давайте рассмотрим очень простую программу:

#include <iostream>

void printValue(int nValue)
{
std::cout << nValue;
}

int main()
{
printValue(5);
return 0;
}

1
2
3
4
5
6
7
8
9
10
11
12

#include <iostream>

voidprintValue(intnValue)

{

std::cout<<nValue;

}

intmain()

{

printValue(5);

return;

}

Как вы уже знаете, при запуске программы выполнение начинается с вызова главной функции main(). Так как мы хотим выполнить отладку внутри функции main(), то давайте начнем с использования команды «Шаг с заходом».

В Visual Studio, перейдите в меню (либо нажмите ):

Если вы используете другую IDE, то найдите в меню команду и выберите её.

Когда вы это сделаете, должны произойти две вещи. Во-первых, так как наше приложение является консольной программой, то должно открыться консольное окно. Оно будет пустым, так как мы еще ничего не выводили. Во-вторых, вы должны увидеть специальный маркер слева возле открывающей скобки функции main(). В Visual Studio этим маркером является жёлтая стрелочка (если вы используете другую IDE, то должно появиться что-нибудь похожее):

Стрелка-маркер указывает на следующую строку, которая будет выполняться. В этом случае отладчик говорит нам, что следующей строкой, которая будет выполняться, — будет открывающая фигурная скобка функции main(). Выберите «Шаг с заходом» еще раз — стрелка переместится на следующую строку:

Это значит, что следующей строкой, которая будет выполняться, — будет вызов функции printValue(). Выберите «Шаг с заходом» еще раз. Поскольку printValue() — это вызов функции, то мы переместимся в начало функции printValue():

Выберите еще раз «Шаг с заходом» для выполнения открывающей фигурной скобки printValue(). Стрелка будет указывать на .

Теперь выберите «Шаг с обходом» (F10). Вы увидите число в консольном окне.

Выберите «Шаг с заходом» еще раз для выполнения закрывающей фигурной скобки printValue(). Функция printValue() завершит свое выполнение и стрелка переместиться в функцию main()

Обратите внимание, в main() стрелка снова будет указывать на вызов printValue():

Может показаться, будто отладчик намеревается еще раз повторить цикл с функцией printValue(), но в действительности он нам просто сообщает, что он только что вернулся из этой функции.

Выберите «Шаг с заходом» два раза. Готово, все строки кода выполнены. Некоторые дебаггеры автоматически прекращают сеанс отладки в этой точке. Но Visual Studio так не делает, так что если вы используете Visual Studio, то выберите (или ):

Таким образом мы полностью остановили сеанс отладки нашей программы.

Borland, Code Gear, Embarcadero etc.

Выполните Run | Step over, или нажмите F8. Вы получите примерно такую картину, как на рисунке. Синяя стрелка указывает,
какой оператор будет выполнен. Используя шаг с обходом (F8), шаг с заходом (F7) можно исполнять программу. Кроме этого, имеются дополнительные возможности,
например исполнение кода до курсора (F4), исполнение до тех пор, пока не будет осуществлён возврат (Shift + F8), просматривать состояние переменных и выражений (Run | Inspect),
изменять значение переменных (Ctrl + F7) и добавлять список отслеживаемых переменных и выражений (Ctrl + F5).

Вызов отладчика на Embarcadero RAD Studio XE2

Шаг с обходом выполняет оператор, но не заходит в него. Например, если это вызов функции, то он будет произведён, но внутрь функции мы не попадём.

Шаг с заходом позволяет «зайти» в оператор, если он сложный. Например, перейти к функции, которая выполняется.

Шаг с выходом позволяет вернуться на уровень выше, если мы совершили шаг с заходом.

Окошко «Local Variables» слева снизу отображает текущее значение локальных переменных. Во время захода в функцию в значениях хранится мусор.

Нажимая F8, дойдите до строки 23, где происходит вызов функции printArray. Если вы нажмёте F7, то перейдёт внутрь функции printArray.

Шаг с заходом позволяет перейти в функцию

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

Синие метки — возможные точки останова, красные — активные

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

Точка останова может быть иметь ряд условий, например, число попаданий, фильтры, действие, которое выполняется при остановке и т.д. Для того, чтобы задать дополнительные свойства, кликните правой кнопкой мыши на точке и в выпадающем меню выберете Breakpoint Properties….

Пусть, например, мы хотим остановить выполнение программы тогда, когда значение локальной переменной i внутри цикла в функции стало равно 2. Для этого напишем соответствующее условие в поле condition

Останов выполнения программы может быть осуществлён по условию

Теперь, если нажать на «Продолжить», то программа будет работать до тех пор, пока значение локальной переменной i внутри функции не станет равным 2.

Слева расположено окно Watchlist. Watchlist позволяет добавлять отслуживаемые переменные и выражения. Кликните два раза по полю и появится диалоговое окно. Пусть, например, мы хотим трассировать сумму переменных i и j. Запишем в watchlist сумму

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

Q&A

Всё ещё не понятно? – пиши вопросы на ящик

Сфера

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

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

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

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организацииМуниципалитетыРайоныОбразованияПрограммыОтчетыпо упоминаниямДокументная базаЦенные бумагиПоложенияФинансовые документыПостановленияРубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датамРегламентыТерминыНаучная терминологияФинансоваяЭкономическаяВремяДаты2015 год2016 годДокументы в финансовой сферев инвестиционной

Запуск отладки #

Для запуска отладки откройте или проект. Отладку можно производить в двух режимах:

  • На реальных данных. Запускается командой » Начать на реальных данных» в меню или клавишей «F5». В этом режиме отлаживаемая программа запускается на в торговой платформе. Отладка осуществляется в реальных условиях на ценовых данных, поступающих от сервера.
  • На исторических данных. Запускается командой » Начать на исторических данных» в меню или клавишами «Ctrl+F5». Отладка происходит в режиме визуального тестирования в тестере стратегий. Этот режим позволяет проверить работу программы на любом интересующем участке истории, не дожидаясь наступления определенных рыночных условий.

Как только исполнение программы в режиме отладки дойдет до строки с точкой останова, оно будет прервано. Строка, на которой остановилось выполнение, будет помечена иконкой . Также в окне «Инструменты» появится вкладка . В левой ее части будет показан функции.

Стек вызовов

Современные отладчики имеют еще одно информационное окно, которое может быть очень полезным при отладке программ — «Стек вызовов».

Как вы уже знаете, при вызове функции программа оставляет закладку в текущем местоположении, выполняет функцию, а затем возвращается в место закладки. Программа отслеживает все вызовы функций в стеке вызовов.

Стек вызовов — это список всех активных функций, которые вызывались до текущего местоположения. В стек вызовов записывается вызываемая функция и выполняемая строка. Всякий раз, когда происходит вызов новой функции, эта новая функция добавляется в верх стека. Когда выполнение текущей функции прекращается, она удаляется из верхней части стека и управление переходит к функции ниже (второй по счету).

Отобразить окно «Стека вызовов» в Visual Studio можно через :

Примечание: Вы должны находиться в режиме отладки — используйте для этого команду «Шаг с заходом».

Рассмотрим пример:

#include <iostream>

void CallC()
{
std::cout << «C called» << std::endl;
}

void CallB()
{
std::cout << «B called» << std::endl;
CallC();
}

void CallA()
{
CallB();
CallC();
}

int main()
{
CallA();

return 0;
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

#include <iostream>

voidCallC()

{

std::cout<<«C called»<<std::endl;

}

voidCallB()

{

std::cout<<«B called»<<std::endl;

CallC();

}

voidCallA()

{

CallB();

CallC();

}

intmain()

{

CallA();

return;

}

Укажите точку останова в функции CallC(), а затем запустите отладку. Программа выполнится до точки останова.

Несмотря на то, что вы знаете, что сейчас выполняется CallC(), в программе есть два вызова CallC(): в функции CallB() и в функции CallA(). Какая функция ответственна за вызов CallC() в данный момент? Стек вызовов нам это покажет:

Сначала выполняется main(). Затем main() вызывает CallA(), которая, в свою очередь, вызывает CallB(). Функция CallB() вызывает CallC(). Вы можете щелкнуть дважды по разным строкам в окне «Стек вызовов», чтобы увидеть больше информации о вызываемых функциях. Некоторые IDE переносят курсор непосредственно к вызову указанной функции. Visual Studio переносит курсор к следующей строке, которая находится после вызова функции. Попробуйте! Для того, чтобы возобновить степпинг, щелкните дважды по самой верхней (первой) строке в окне «Стек вызовов» и вы вернетесь к текущей точке выполнения.

Выберите команду «Продолжить». Точка останова должна сработать во второй раз, когда будет повторный вызов функции CallC() (на этот раз из функции CallA()). Всё происходящее вы должны увидеть в окне «Стек вызовов»:

Удаленная отладка с IDA Starter

С некоторого времени популярный и весьма мощный дизассемблер IDA Pro стал распространяться бесплатно для частного использования. Разумеется, речь идет о его урезанной версии — IDA Starter. Основная функция этого инструмента — статический анализ, но, помимо этого, он умеет удаленно отлаживать приложения. Сейчас мы разберемся, как его настроить для удаленной отладки.

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

Теперь переходим на основную машину, чтобы настроить удаленную отладку в самой IDA.

Сервер IDA на целевой машине

Для настройки отладчика в IDA открывай меню Debugger → Select debugger или жми F9. Теперь в списке доступных отладчиков выбирай Remote Windows Debugger. Появится окно, предупреждающее о рисках дебага, отвечай утвердительно, если понимаешь их.

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

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Отладка программы

В современных системах программирования (например, Turbo C, Turbo Pascal, Turbo Basic и др.) отладку осуществляет зачастую специальное программное средство – отладчик, который позволяет исследовать внутреннее поведение программы.

Возможности отладчика:

  • выполнение пошагового исполнения программы с остановкой после каждого оператора;
  • возможность просмотра текущего значения любой переменной или нахождения значения любого выражения; в случае необходимости можно задать новое значение переменной;
  • можно установить в программе контрольные точки – точки, в которых программа временно прекращает свое выполнение. Это позволяет выполнить оценку промежуточных результатов и др.

При выполнении отладки программы нужно придерживаться следующих правил:

  • на начальном этапе проведения отладки нужно использовать простые тестовые данные;
  • возникающие ошибки устранять строго по очереди;
  • помнить, что причина ошибок – не машина. Современные ПК и программы-трансляторы наделены достаточно высокой надежностью.

Устранение неполадок с JIT-отладкойTroubleshoot Just-In-Time debugging

Если JIT-отладка не запускается при сбое приложения, даже если она включена в Visual Studio:If Just-In-Time debugging doesn’t start when an app crashes, even though it is enabled in Visual Studio:

  • Отчеты об ошибках Windows могут взять на себя обработку ошибок на компьютере.Windows Error Reporting could be taking over the error handling on your computer.

    Чтобы устранить эту проблему, используйте редактор реестра, чтобы добавить значение DWORD Отключено с параметром Данные значения, равным 1, для следующих разделов реестра:To fix this issue, use Registry Editor to add a DWORD Value of Disabled, with Value data of 1, to the following registry keys:

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error ReportingHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting

    • (Для 64-разрядных компьютеров): HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\Windows Error Reporting(For 64-bit machines): HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\Windows Error Reporting

    Дополнительные сведения см. в разделе Параметры .WER.For more information, see .WER settings.

  • Известная проблема Windows может привести к сбою JIT-отладчика.A known Windows issue may be causing the Just-In-Time debugger to fail.

    Исправление состоит в том, чтобы добавить значение DWORD из раздела Видимые с параметром Значение данных, равным 1, в следующие разделы реестра.The fix is to add a DWORD Value of Auto, with Value data of 1, to the following registry keys:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebugHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug

    • (Для 64-разрядных компьютеров): HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug(For 64-bit machines): HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug

Во время JIT-отладки могут отображаться следующие сообщения об ошибках.You might see the following error messages during Just-In-Time debugging:

  • Не удалось подключиться к аварийному процессу. Указанная программа не является программой Windows или MS–DOS.Unable to attach to the crashing process. The specified program is not a Windows or MS-DOS program.

    Отладчик попытался подключиться к процессу, выполняющемуся под именем другого пользователя.The debugger tried to attach to a process running under another user.

    Чтобы обойти эту проблему, запустите Visual Studio, откройте диалоговое окно Отладка > Присоединение к процессу и найдите процесс, для которого требуется выполнить отладку, в списке Доступные процессы.To work around this problem, in Visual Studio, open Debug > Attach to Process, and find the process you want to debug in the Available Processes list. Если имя процесса неизвестно, найдите идентификатор процесса в диалоговом окне JIT-отладчик Visual Studio.If you do not know the name of the process, find the Process ID in the Visual Studio Just-In-Time Debugger dialog. Выберите процесс в списке Доступные процессы и щелкните Присоединить.Select the process in the Available Processes list, and select Attach. Выберите Нет, чтобы закрыть диалоговое окно JIT-отладчика.Select No to dismiss the Just-In-Time debugger dialog.

  • Не удалось запустить отладчик, так как пользователь не вошел в систему.Debugger could not be started because no user is logged on.

    В консоли нет пользователей, выполнивших вход, а также отсутствует сеанс пользователя, в котором следовало бы отображать диалоговое окно JIT-отладки.There is no user logged onto the console, so there is no user session to display the Just-In-Time debugging dialog.

    Для решения этой проблемы необходимо войти в компьютер.To fix this problem, log onto the machine.

  • Класс не зарегистрирован.Class not registered.

    Отладчик пытался создать класс COM, который не зарегистрирован, вероятно, из-за проблем с установкой.The debugger tried to create a COM class that is not registered, probably due to an installation problem.

    Чтобы решить эту проблему, используйте Visual Studio Installer для переустановки или исправления установки Visual Studio.To fix this problem, use the Visual Studio Installer to reinstall or repair your Visual Studio installation.

Список отладчиков

Некоторые широко используемые отладчики:

  • Arm DTT , ранее известный как Allinea DDT
  • API-интерфейс отладчика Eclipse, используемый в ряде IDE: Eclipse IDE (Java), Nodeclipse (JavaScript)
  • Отладчик JavaScript в Firefox
  • GDB — отладчик GNU
  • LLDB
  • Отладчик Microsoft Visual Studio
  • Radare2
  • TotalView
  • Валгринд
  • WDW, отладчик OpenWatcom
  • WinDbg

Ранние отладчики миникомпьютеров включают:

  • Техника динамической отладки (ДДТ)
  • Инструмент интерактивной отладки (ODT)

Более ранние отладчики мэйнфреймов включают (в порядке выпуска):

  • 1974 OLIVER CICS ТЕСТ / ОТЛАДКА
  • ПАКЕТНЫЙ ТЕСТ / ОТЛАДКА СИМОНА 1980 г.
  • 1985 CA / EZTEST
  • 1990 XPEDITER и Expediter CICS

Текущие отладчики мэйнфреймов:

  • Инструмент отладки для z / OS
  • XPEDITER и Expediter CICS
  • z / XDC

Отладка — программа

Отладка программы осуществляется с целью проверки правильности ее составления. Во — время отладки могут быть обнаружены ошибки, которые затем устраняются, а в программу вносятся коррективы. В процессе отладки устанавливается также примерное время, потребное на работу программы.

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

Отладка программ заключается в обнаружении и исправлении ошибок, допущенных на всех этапах подготовки задачи для решения на ЭВМ.

Отладка программ осуществляется поэтапно. На первом этапе выявляются ошибки ввода информации, на втором — нарушения условий правильной работы автокодовых программ и стандартных подпрограмм, на третьем ( последнем) этапе анализируются результаты расчета.

Отладка программы является важнейшим и наиболее трудоемким этапом при решении любой задачи на ЭВМ. Для того чтобы рабочее время программиста на этом этапе использовалось с максимальной эффективностью, в отладочный транслятор включены средства, позволяющие сократить время проверки выполнения программы и исправлять возникающие ошибки с минимальной затратой времени.

Отладка программы труднее всего подается нормированию.

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

Отладка программ на языках высокого уровня реализуется отладочными средствами соответствующих систем программирования.

Отладка программ на языке СИ ведется с помощью специального отладчика СОВ, который является независимым процессом и оказывает минимальное влияние на работу отлаживаемой программы, порожденной CDB как подпроцесс.

Отладка программ на таких комплексах в принципе не отличается от описанной выше.

Отладка программы состоит в обнаружении и исправлении ошибок, вызывающих неправильное поведение программы. Приложение QBASIC содержит некоторые средства, помогающие при отладке.

Отладка программ в среде Турбо.

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

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

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

Режим отладки и выполнение приложенияDebug mode vs. running your app

При первом запуске приложения в Visual Studio его можно запустить, нажав кнопку с зеленой стрелкой на панели инструментов (или клавишу F5).When you run your app in Visual Studio for the first time, you may start it by pressing the green arrow button in the toolbar (or F5). По умолчанию в раскрывающемся списке слева отображается элемент Отладка.By default, the Debug value appears in the drop-down to the left. Если вы не имеете опыта работы с Visual Studio, может показаться, что отладка приложения — это практически то же самое, что его запуск. На самом деле эти задачи хоть и связаны, но коренным образом различаются.If you are new to Visual Studio, this can leave the impression that debugging your app has something to do with running your app—which it does—but these are fundamentally two very different tasks.

Значение Отладка соответствует конфигурации отладки.A Debug value indicates a debug configuration. Когда вы запускаете приложение (нажимая зеленую стрелку или клавишу F5) в конфигурации отладки, оно запускается в режиме отладки. Это означает, что приложение запускается с присоединенным отладчиком.When you start the app (press the green arrow or F5) in a debug configuration, you start the app in debug mode, which means you are running your app with a debugger attached. В результате вы получаете полный набор функций отладки, которые можно использовать для поиска ошибок в приложении.This enables a full set of debugging features that you can use to help find bugs in your app.

Если у вас открыт проект, выберите в раскрывающемся списке Отладка элемент Выпуск.If you have a project open, choose the drop-down selector where it says Debug and choose Release instead.

При выборе этого параметра конфигурация отладки для проекта меняется на конфигурацию выпуска.When you switch this setting, you change your project from a debug configuration to a release configuration. Проекты Visual Studio имеют отдельные конфигурации выпуска и отладки для вашей программы.Visual Studio projects have separate release and debug configurations for your program. Производится построение отладочной версии для отладки и версии выпуска для окончательного выпуска программы.You build the debug version for debugging and the release version for the final release distribution. Сборка выпуска оптимизирована для обеспечения максимальной производительности, а отладочная сборка лучше подходит для отладки.A release build is optimized for performance, but a debug build is better for debugging.

Создание проектаCreate a project

Сначала вы создадите проект консольного приложения .NET Core.First, you’ll create a .NET Core console application project. Для этого типа проекта уже имеются все нужные файлы шаблонов, что избавляет вас от лишней работы.The project type comes with all the template files you’ll need, before you’ve even added anything!

  1. Откройте Visual Studio 2017.Open Visual Studio 2017.

  2. В верхней строке меню последовательно выберите Файл > Создать > Проект.From the top menu bar, choose File > New > Project.

  3. В левой области диалогового окна Новый проект разверните узел C# и выберите .NET Core.In the New Project dialog box in the left pane, expand C#, and then choose .NET Core. На средней панели выберите Консольное приложение (.NET Core) .In the middle pane, choose Console App (.NET Core). Назовите проект get-started-debugging.Then name the project get-started-debugging.

    Если шаблона проекта Console App (.NET Core) (Консольное приложение (.NET Core)) нет, выберите ссылку Открыть Visual Studio Installer в левой области диалогового окна Новый проект.If you don’t see the Console App (.NET Core) project template, choose the Open Visual Studio Installer link in the left pane of the New Project dialog box.

    Запускается Visual Studio Installer.The Visual Studio Installer launches. Выберите рабочую нагрузку Кроссплатформенная разработка .NET Core и затем элемент Изменить.Choose the .NET Core cross-platform development workload, and then choose Modify.

  1. Запустите Visual Studio 2019.Open Visual Studio 2019.

    Если окно запуска не открыто, выберите Файл > Окно запуска.If the start window is not open, choose File > Start Window.

  2. На начальном экране выберите Создать проект.On the start window, choose Create a new project.

  3. В поле поиска окна Создание проекта введите консоль.On the Create a new project window, enter or type console in the search box. Затем выберите C# в списке языков и Windows в списке платформ.Next, choose C# from the Language list, and then choose Windows from the Platform list.

    Применив фильтры языка и платформы, выберите шаблон Консольное приложение (.NET Core) и нажмите кнопку Далее.After you apply the language and platform filters, choose the Console App (.NET Core) template, and then choose Next.

    Примечание

    Если шаблон Консольное приложение (.NET Core) отсутствует, его можно установить из окна Создание проекта.If you do not see the Console App (.NET Core) template, you can install it from the Create a new project window. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.In the Not finding what you’re looking for? message, choose the Install more tools and features link. После этого в Visual Studio Installer выберите рабочую нагрузку Кроссплатформенная разработка .NET Core.Then, in the Visual Studio Installer, choose the .NET Core cross-platform development workload.

  4. В поле Имя проекта окна Настроить новый проект введите GetStartedDebugging.In the Configure your new project window, type or enter GetStartedDebugging in the Project name box. Затем нажмите Создать.Then, choose Create.

    Новый проект открывается в Visual Studio.Visual Studio opens your new project.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий