background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "C++ понятный курс для начинающих. #6 Debbuger. Отладка программы."

input logo icon
Обложка аудиозаписи
Подождите немного, мы готовим ссылки для удобного просмотра видео без рекламы и его скачивания.
console placeholder icon
Теги видео
|

Теги видео

Code
Programming
Программирование
Уроки
С++
C++
CS
Guide
debbugger
отладчик
отладка
debug
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:00
[музыка]
00:00:02
[аплодисменты]
00:00:03
[музыка]
00:00:11
так Всем привет настало время записывать
00:00:14
следующий видос и время это пришло
00:00:17
достаточно быстро Я даже сам не ожидал
00:00:18
что у меня появится мотивация на это так
00:00:21
быстро так вот этот видос будет посвящен
00:00:24
так называемой отладке еще вы можете
00:00:26
услышать другое определение дебаггинг -
00:00:29
это одно и то же что же такое отладка
00:00:32
отладка - это по сути по этапная
00:00:35
построенное выполнение вашей программы с
00:00:38
целью например найти какую-то ошибку
00:00:40
если таковая имеется или просто
00:00:42
отследить некоторое значение опять же
00:00:44
проверить на корректность Ну и вообще в
00:00:46
принципе отладка нужна для того чтобы
00:00:48
проследить корректности выполнения вашей
00:00:51
программы это одна из фундаментальных
00:00:53
вещей без которой их ни одна серьёзная
00:00:55
разработка вообще не обходится И вам
00:00:58
обязательно нужно пораньше об этом
00:00:59
узнать потому что дальше по ходу курса
00:01:02
начнутся уже циклы функции и всякие
00:01:06
штуки которые без отладки будут Ну
00:01:08
немножечко трудно разобрать так вот
00:01:10
Давайте посмотрим посмотрим что из себя
00:01:12
представляет отладка на живом примере Да
00:01:14
я написал такую очень простенькую
00:01:17
программу она по сути сильно похожа на
00:01:20
то что мы писали в предыдущем уроке
00:01:22
который был посвящен условному оператору
00:01:24
ветвления If и я думаю что для вас тут
00:01:27
никаких Сюрпризов быть не должно
00:01:30
для того чтобы запустить именно
00:01:33
программу в режиме отладки вижу студии
00:01:36
Да ещё стоит обратить внимание что до
00:01:38
этого мы запускали программу комбинации
00:01:40
Control of 5 Это был запуск без отладки
00:01:43
Теперь мы хотим запустить отладку
00:01:45
делается это с помощью кнопки F5 я
00:01:49
специально оставил только эти
00:01:51
комментарии Да и к тому же я думаю что
00:01:52
предыдущие комментарии вам уже точно не
00:01:54
нужны так вот смотрите чтобы начать
00:01:58
просто э по умолчанию как бы отладку
00:02:01
можно сразу нажать
00:02:03
а у нас откроется окно терминала в
00:02:08
котором мы будем видеть все весь наш
00:02:10
вывод в консоль Да в терминал Да я
00:02:13
наверное специально немножечко сделаю
00:02:15
поменьше окно вижу студии чтобы нам было
00:02:19
более наглядно что мы видим в терминале
00:02:21
до вывод весь для того чтобы начать
00:02:24
отладку вам нужно сначала поставить так
00:02:27
называемую точку остановы Также вы
00:02:29
можете еще столкнуться с названием Brake
00:02:31
Point это одно и то же И даже чаще
00:02:33
скорее всего вы будете слышите именно
00:02:34
второй вариант английский для этого вам
00:02:38
нужно просто навести курсор мыши либо на
00:02:42
вот эту полоску серую вы как только это
00:02:44
сделаете увидите соответствующую
00:02:46
индикацию такой серенький кружочек
00:02:48
который будет вам намекать на то что вы
00:02:51
можете с помощью левой кнопкой мыши на
00:02:54
нажатие на нее поставить сюда точку
00:02:55
останово либо же это можно сделать с
00:02:58
помощью кнопки f9 то есть либо лкм
00:03:02
ставите и ее можно убрать и кнопка f9 то
00:03:07
же самое делает Также можно ее поставить
00:03:09
можно убрать Давайте например поставим
00:03:15
на пятую строку то есть мы начнем нашу
00:03:19
отладку прямо с пятой строки как только
00:03:22
запустим программу в режиме отладки
00:03:24
опять же делается с помощью клавиши F5
00:03:27
нажимаем
00:03:29
у нас появляется различные окна с
00:03:32
мониторингом нашей системы мы видим
00:03:35
потребляему память загружаемые CP
00:03:38
Насколько процентов да Но вам это пока
00:03:40
не особо надо не вдавайтесь в
00:03:42
подробности заострите внимание скорее На
00:03:45
вот этом окне в котором у вас
00:03:47
мониторится все ну отслеживаются
00:03:49
значения ваших переменных это очень
00:03:52
удобная штука но еще есть один момент
00:03:54
что переменные будут появляться в данном
00:03:57
окне только по мере выполнения программы
00:04:00
и по мере появления переменных в ней То
00:04:03
есть как только вы объявляете переменную
00:04:04
и вы дошли до этой строчки на которой
00:04:07
объявляется переменная то у вас появится
00:04:09
здесь значение точнее даже не так как
00:04:11
только вы выполните строчку то есть
00:04:13
шагнете с неё у вас появится здесь
00:04:16
значение так вот далее про шаги как нам
00:04:18
собственно выполнять до программу для
00:04:21
этого нужно нажимать обычно это делается
00:04:24
кнопкой Также можно воспользоваться
00:04:26
гуинтерфейсом и нажимать опять же мышкой
00:04:28
далее вы кнопкой но я предпочитаю
00:04:31
пользоваться клавишей давайте пока не
00:04:33
будем заострять внимание на всех деталях
00:04:36
отладки какие у нее есть опции вам
00:04:38
достаточно будет просто обычного шага с
00:04:41
обходом делается это опять же с помощью
00:04:44
либо нажатия на вот эту кнопку на
00:04:47
интерфейсе либо с помощью клавиши F10 Ну
00:04:50
нажимаем F10 видим что у нас
00:04:53
переместился курсор который показывает
00:04:56
состояние того Где мы находимся в
00:04:59
отладке Да
00:05:00
переместился на строку семь потому что
00:05:03
шестая строка пустая А на пятой мы уже
00:05:06
были мы объявили переменную с значением
00:05:08
ноль далее происходит проверка условного
00:05:12
выражения
00:05:14
на равенство на нашей переменной value
00:05:17
равен 105 в данный момент у нас значение
00:05:21
0 Поэтому соответственно вспоминаем
00:05:23
предыдущий урок условное выражение
00:05:25
высчитается как ложная и вот этот блок
00:05:28
не выполнится выполнится альтернативный
00:05:31
блок els нажимаем дальше на нашу кнопку
00:05:35
Или Ну опять же как хотите можете в
00:05:37
интерфейсе Будешь нам нажать F10 Да и
00:05:40
видим что Да у нас пропустился этот блок
00:05:42
кода не выполнился это переменная не
00:05:45
была объявлена строка вот эта в терминал
00:05:48
не отрисовалась Ну понятно да то есть Мы
00:05:51
перешли к выполнению блока кода под л.с
00:05:54
далее как только мы ещё раз нажмём Step
00:05:58
Да нажмём на нашу кнопку F10 у нас
00:06:01
объявится ещё одна переменная w3 со
00:06:04
своим значением 30 и по идее Если всё
00:06:07
всё нормально мы должны будем её увидеть
00:06:09
здесь э в окне мониторинга Да за
00:06:12
переменными
00:06:14
нажимаем F10
00:06:16
видим что V3 получилось значение 30
00:06:21
То есть все правильно далее наше
00:06:24
выполнение программы переходит на
00:06:25
следующую строку на которой находится
00:06:27
вывод в консоль то есть по идее опять же
00:06:30
если все так как мы ожидаем мы должны
00:06:33
увидеть вывод в консоль что значение не
00:06:37
равно 5 здесь под значением Я имею ввиду
00:06:39
именно Valio которое мы объявляли выше
00:06:42
вот это вэли из ноты экл5 переводится с
00:06:45
английского как то что значение оно типа
00:06:47
наше велью не равно пяти это
00:06:50
действительно так и это демонстрирует
00:06:53
блок els потому что сюда мы попадём
00:06:55
только лишь в том случае когда
00:06:57
действительно значение вэлю не будет
00:06:59
равно пяти Потому что если бы это было
00:07:01
так то наше условное выражение
00:07:03
высчиталось бы в труд и отработал бы
00:07:05
верхний блокфа и тогда мы получили бы
00:07:09
уже фразу что wellio равно значение пять
00:07:11
что ж нажимаем Ещё раз с кнопкой F10 и
00:07:15
действительно получаем ожидаемо в
00:07:16
консоль именно этот вывод Что является
00:07:19
дополнительным подтверждением того что
00:07:21
вкладывает именно блок els То есть в
00:07:23
принципе понятно То есть суть дебаггера
00:07:25
на базовом уровне на достаточно проста А
00:07:28
все что вы делаете вы построчно по
00:07:30
одному выражению выполняете программу и
00:07:33
таким образом можете легко убедиться в
00:07:36
корректности вашего кода значение в этом
00:07:38
коде в прыжках допустим в условном
00:07:41
ветвлении Правильно ли блок кода
00:07:43
выполняется А еще в качестве
00:07:46
дополнительного бонуса так сказать к
00:07:48
этому уроку Я хотел бы затронуть такую
00:07:51
тему как пользовательский Вот мы
00:07:53
коснемся только базовых вещей я не буду
00:07:56
вдаваться в подробности обработки
00:07:58
некорректного пользовательского ввода а
00:08:00
просто покажу вам простой инструмент Как
00:08:02
можно вводить в консоль значение и
00:08:06
сохранять Их в переменную Давайте до
00:08:08
конца пройдем в дебаге
00:08:11
завершим его вот все можно нажмите
00:08:14
клавишу чтобы закрыть закрываем окно
00:08:17
два раза на Enter опять же развернул на
00:08:20
полный экран
00:08:23
так уберем пока что уберем пока что А ну
00:08:27
не будем Пускай опуская лишний раз как
00:08:29
раз мы отработаем еще раз дебаг И я
00:08:31
покажу как вводить пользовательское
00:08:34
значение через консоль так для того
00:08:37
чтобы ввести пользовательское значение
00:08:40
для некоторой переменной в терминал Она
00:08:43
во-первых понадобится еще один объект о
00:08:46
стрима на этот раз это Син и теперь
00:08:49
другое оператор вот такой вот то есть
00:08:53
наоборот до этого мы пользовались
00:08:54
стрелочками влево знаете можете на
00:08:57
уровне примитивных таких вещей Да чисто
00:09:00
если воспринимать очень примитивно Может
00:09:03
быть по-детски но для начала Это
00:09:04
довольно удобно можете воспринимать это
00:09:07
так как будто стрелочки влево кладут все
00:09:10
А вот то есть в терминал значение уже
00:09:13
которое мы указываем здесь а тут
00:09:15
получается наоборот ка- как будто им
00:09:18
заставит нас пользователя
00:09:21
получить значение то есть оно
00:09:23
провоцирует на то что мы ввели некоторое
00:09:25
значение и положит в переменную то есть
00:09:28
здесь мы уже указываем переменную это
00:09:30
достаточно примитивная конечно такое
00:09:32
описание но я думаю для начала вам будет
00:09:34
это достаточно доступно и понятно
00:09:36
смотрите теперь когда мы запустим
00:09:39
Давайте снова немножко сделаем меньше
00:09:41
окно Visual Studio потому что у нас
00:09:43
сейчас опять откроется консоль и Давайте
00:09:45
попробуем еще раз запустить именно в
00:09:48
режиме отладки нашу программу нажав на
00:09:50
клавишу F5 открывается опять же консоль
00:09:53
Давайте выведем сюда
00:09:56
и теперь сначала Понятно У нас опять
00:09:59
отработает строчка 5 в которой у нас
00:10:02
просто объявляется переменная value и
00:10:04
инициализируется значением 0 Мы один раз
00:10:08
шагаем нажимаем F10 так окно надо
00:10:13
визуалки выделить нажимаем F10 шагнули
00:10:16
раз И вот теперь как только мы стоим на
00:10:19
строке 6 и как только мы еще раз нажмем
00:10:22
F10 а то терминал будет ожидать
00:10:25
пользовательского ввода смотрите
00:10:27
нажимаем еще раз в 10 И теперь у нас
00:10:30
есть возможность ввести значение в
00:10:32
терминал
00:10:33
то есть видите любое целочительное
00:10:36
значение например ну пускай это будет А
00:10:40
ну давайте как раз таки проверим наше
00:10:42
выполнение условного выражения под ifan
00:10:45
в круглых скобочках и введен введем
00:10:48
значение 5 в качестве значения для
00:10:50
переменной value вводим 5 нажимаем Enter
00:10:53
и Теперь смотрите мы во-первых можем еще
00:10:56
раз убедиться в том как работает окно
00:10:58
мониторинга переменных что здесь Valley
00:11:01
теперь имеет значение 5 это первый
00:11:03
момент и второй момент Мы перешли уже на
00:11:06
выполнение строки 8 И как только мы
00:11:09
нажмём ещё раз F10 она выполнится и по
00:11:12
идее если всё правильно То есть у нас ну
00:11:13
а можете даже да навести курсором мышки
00:11:16
на переменно немножечко задержать курсор
00:11:20
и вы увидите опять же даже здесь
00:11:21
значение что стало равно пяти и по идее
00:11:24
Если всё так то есть условное выражение
00:11:26
высчитается в истину так как пять равно
00:11:29
пяти и отработает этот блок кода
00:11:31
нажимаем ещё раз в 10
00:11:33
Мы видим что все так мы видим что у нас
00:11:36
теперь так как мы вошли в локальную
00:11:38
область видимости вспоминаем про области
00:11:40
видимости мы теперь видим в мониторинге
00:11:43
переменных вот этот переменную valu 2 да
00:11:46
но пока в ней находится мусор потому что
00:11:48
мы не присвоили никакого значения все
00:11:50
плюс плюс мне инициализированные
00:11:52
переменные могут иметь совершенно
00:11:54
непредсказуемые значения поэтому важно
00:11:56
инициализировать переменные Нельзя
00:11:58
оставлять просто просто как бы объявить
00:12:01
и ничего не присвоить тогда вы получите
00:12:04
скорее всего очень непредсказуемый
00:12:06
нежелательный результат при выполнении
00:12:08
ваших программ так вот шагаем ещё разок
00:12:12
нажимаем на F10 видим что во-первых
00:12:14
значение переменной w2 стало равно 20
00:12:17
так как мы инициализировали этим
00:12:19
значением И теперь мы должны увидеть
00:12:21
вывод в консоль именно вот этого
00:12:23
стрингового да значения
00:12:26
строквого который подтвердит что наше
00:12:30
значение на этот раз было равно пяти
00:12:32
нажимаем ещё раз
00:12:35
мы видим да что вывелось в консоли еще у
00:12:38
нас строка вот этого или из иквал 5 То
00:12:40
есть вы равно 5 А При следующем нажатии
00:12:43
мы уже пропустим наш блок els потому что
00:12:45
у нас выполнилась именно первая блок
00:12:47
который зависит от равенства были у пяти
00:12:51
все переходим к завершению выполнения
00:12:53
программы возвращает 0 говорят таким
00:12:57
образом операционной системе что все
00:12:59
выполнилось корректно и в принципе все
00:13:02
смотрите ребят Надеюсь получился
00:13:03
короткий такой видос просто водный можно
00:13:07
сказать по дебаггингу это было
00:13:10
необходимо сделать на мой взгляд так как
00:13:12
далее пойдут циклы и функции и вам
00:13:14
просто будет необходимо Ну запускать её
00:13:17
периодически дебагер чтобы даже из
00:13:20
позиции того чтобы убедиться в том что
00:13:22
ваши мысли о выполнении программы о том
00:13:24
как именно происходит ветвление или
00:13:26
вызовы функции это мы дали опять же
00:13:28
будем разбирать что это такое функции
00:13:30
Как как они вызываются чтобы Вы могли
00:13:32
получить явственное подтвер того что
00:13:36
ваши мысли на этот счет правильны А что
00:13:38
все Всем спасибо за просмотр Давайте до
00:13:41
следующего урока Я думаю что следующих
00:13:43
уроках уже речь пойдет о циклах и наш
00:13:46
функционал немножечко расширится Если
00:13:48
вам понравилось это видео то Поставьте
00:13:50
пожалуйста лайк и не забудьте
00:13:52
подписаться на канал
00:13:53
[музыка]
00:13:55
[аплодисменты]
00:13:56
[музыка]

Описание:

В этом видео мы разберем базовый функционал отладчика. https://www.twitch.tv/yuriorkis_scream - мой твич канал.

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "C++ понятный курс для начинающих. #6 Debbuger. Отладка программы."?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

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

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "C++ понятный курс для начинающих. #6 Debbuger. Отладка программы." выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "C++ понятный курс для начинающих. #6 Debbuger. Отладка программы."?mobile menu icon

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

mobile menu iconКак скачать видео "C++ понятный курс для начинающих. #6 Debbuger. Отладка программы." на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "C++ понятный курс для начинающих. #6 Debbuger. Отладка программы."?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "C++ понятный курс для начинающих. #6 Debbuger. Отладка программы."?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

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