Отладка Java кода в IDEA. Основные возможности отладчика.

Поделиться
HTML-код
  • Опубликовано: 22 янв 2025
  • В данном видео я рассказываю о наиболее полезных возможностях отладчика интегрированной среды разработки IntelliJ IDEA. Рассматриваю конкретные примеры отладки кода на языке программирования Java, для того чтобы показать практическую сторону применения базовых инструментов отладчика.
    Поддержать канал💰:
    yoomoney.ru/to...
    Вопросы и предложения можно писать в нашу группу в Telegram:
    t.me/ArhiTutor...
    #ArhiTutorialsJava #ityoutubersru

Комментарии • 93

  • @rollingdice
    @rollingdice 3 года назад +11

    Это лучшее видео по дебагу в рунете! Спасибо огромное!

    • @user-Pravdarub586
      @user-Pravdarub586 2 года назад

      Хотелось бы шрифт побольше (Ctrl + колесико мыши) и на курсор цветной указатель. А то ни черта не видно!

    • @Judosaper
      @Judosaper Год назад

      Это лучший комент по дебагу в рунете! Спасибо огромное!

  • @beelieevee
    @beelieevee 5 лет назад +6

    Спасибо за содержательное видео и приятную подачу материала.

  • @d.mertsalov
    @d.mertsalov 5 лет назад +8

    Спасибо! Мне этого знания не хватало. Раньше ставил breakpoint'ы на каждой строке и перемещался по ним.

    • @ИванМатвеев-х9з
      @ИванМатвеев-х9з 5 лет назад +8

      Поддерживаю! Чудесное видео, теперь искать дефекты стало гораздо легче, чем везде писать sout)

  • @krtweb
    @krtweb 6 месяцев назад

    8:00 заметка потом досмотрю , спасибо слушать реально интересно

  • @zvuk3316
    @zvuk3316 3 года назад +4

    Спасибо за такой классный видеоурок, да ещё и с хорошим пример! Огромное спасибо!

  • @ilayko8264
    @ilayko8264 4 года назад +1

    Как же ты хорошо объясняешь!!!

  • @petrchebanov6667
    @petrchebanov6667 5 лет назад +8

    Спасибо! Очень круто! Очень приятно слушать, информативно и доходчиво! Пожалуйста, не останавливайся в выпуске роликов))

  • @catmother8368
    @catmother8368 3 года назад +1

    Спасибо, очень понятно и нет воды)

  • @namesubname3287
    @namesubname3287 3 года назад +1

    чёткое объяснение, спасибо большое!

  • @tomatored9038
    @tomatored9038 4 года назад +3

    огромное спасибо, все доступно понятно, у Вас талант вести такие познавательные уроки!

  • @КлешОфКланс-я3в
    @КлешОфКланс-я3в 4 года назад +2

    Урок очень полезный и познавательный. Спасибо!

  • @IuriyTheOne
    @IuriyTheOne 4 года назад +1

    Много нового почерпнул, спасибо!

  • @АртемЛ-р5у
    @АртемЛ-р5у 3 года назад +1

    Спасибо огромное, очень полезное видео.

  • @Yornero
    @Yornero 2 года назад +1

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

  • @ЕленаМусинова-р7в
    @ЕленаМусинова-р7в 2 года назад

    все очень подробно и понятно. Спасибо за видео, очень помогло

  • @vikvik7117
    @vikvik7117 4 года назад +1

    Спасибо! очень доходчиво рассказываете. Узнаю много нового из ваших видео!

  • @anastasiaanastasia5274
    @anastasiaanastasia5274 2 года назад +1

    Какой классный урок! Спасибо!

  • @artemy99
    @artemy99 3 года назад

    Спасибо, закрепил имеющиеся знания и узнал несколько фич)

  • @gadjik_youtube
    @gadjik_youtube 2 года назад

    спасибо ! полезный ролик , теперь поприятнее будет отладку делать

  • @lesterbruke8166
    @lesterbruke8166 3 года назад

    70 000+ напоминаний о хоткей на stepover) спс!

  • @Vlad-de5gp
    @Vlad-de5gp 2 года назад

    Огромное спасибо

  • @МаксД-ш3м
    @МаксД-ш3м 2 года назад

    Спасибо.... уложилось в голове процентов 40, но и то... потом пересмотрю ешё пару паз

  • @Andrzej3935
    @Andrzej3935 3 года назад

    Спасибо огромнейшее!

  • @ВселишнийДетерминистр

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

  • @dmitriytverdokhlibov8832
    @dmitriytverdokhlibov8832 5 лет назад +1

    Спасибо за видео обучение!) Респект и уважуха

  • @МеняЗовут-р1з
    @МеняЗовут-р1з 2 года назад

    Большое спасибо за видео, давно искал как им пользоваться. Бумага дома уже закончилась от дебаггинга на тетрадке)

  • @pavelivan8272
    @pavelivan8272 4 года назад +2

    Спасибо крутое видео! Я до этого просто логи использовал :-)

  • @tedikvredik
    @tedikvredik 5 лет назад +1

    Отличное видео и подача материала, спасибо!

  • @apatrisianislav7106
    @apatrisianislav7106 4 года назад

    Нравится подача, лайк ,подписка ,звонок. Продолжай!

  • @OlegGoodsoul
    @OlegGoodsoul 3 года назад

    Спасибо! Узнал новое!

  • @alexanderkazeev3729
    @alexanderkazeev3729 4 года назад +1

    Отличное видео. Спасибо. Лайк, подписка)

  • @ОльгаПестова-ф1ш
    @ОльгаПестова-ф1ш 3 года назад

    Спасибо! очень хорошее видео и все по полочкам!

  • @fara0n333
    @fara0n333 4 года назад

    За подачу материала лайк и подписка

  • @win4ester44
    @win4ester44 4 года назад

    Спасибо! Очень познавательно для новчика.

  • @TheManas1979
    @TheManas1979 4 года назад

    Спасибо большое Вам, ставлю лайк.

  • @veygard
    @veygard 4 года назад

    Спасибо Вам за это видео!

  • @Gilb077
    @Gilb077 8 месяцев назад

    Классное видео , спасибо !

  • @XIRON86
    @XIRON86 3 года назад

    Очень полезное видео, спасибо)

  • @ВНмн-ю1б
    @ВНмн-ю1б 3 года назад

    Спасибо за урок

  • @FFl1s
    @FFl1s 9 месяцев назад

    Спасибо, помог разобраться с дебагом

  • @Alex888mount
    @Alex888mount 3 года назад

    Очень содержательно!

  • @andrei8299
    @andrei8299 4 года назад

    Спасибо за видео!

  • @Constantine1975
    @Constantine1975 Год назад

    Спасибо Сергей! Мне для начала дебаггинга достаточно :).

  • @mutanterrr
    @mutanterrr Год назад +1

    отличное видео

  • @alexandrericson9878
    @alexandrericson9878 3 года назад +2

    мы же с вами понимаем, что в результате детерминированного алгоритма.... насмешил))))) гугл мне в помощь))) За видео спасибо! Реально нужная и важная информация.

  • @kirill_mizko
    @kirill_mizko 3 года назад

    Огромное спасибо))))))))))

  • @simplechannel7859
    @simplechannel7859 4 года назад

    Лайк, подписка и колокол. Без слов

  • @alexaivashchenko7782
    @alexaivashchenko7782 Год назад

    спасибо!!!

  • @drugsbunny_8641
    @drugsbunny_8641 4 года назад

    очень крутой и информативный видос, спасибо

  • @Judosaper
    @Judosaper Год назад

    Thank you!

  • @1SkyMan11
    @1SkyMan11 2 года назад

    спасибо

  • @Юлия_23
    @Юлия_23 3 года назад

    Спасибо!

  • @AlexSenichek
    @AlexSenichek 4 года назад

    Очень помогло. Спасибо.

  • @KnockNeo8701
    @KnockNeo8701 4 года назад

    Спасибо

  • @locky1827
    @locky1827 4 года назад

    Норм дядя объяснил.

  • @Дмитрий-ю9к3г
    @Дмитрий-ю9к3г 5 лет назад +4

    Спасибо, расширил поверхностные знания.
    А будет продолжение с объяснением как отлаживать многопоточный код?

    • @arhitutorials
      @arhitutorials  5 лет назад +14

      Break point по умолчанию останавливает выполнение всех потоков. Соответственно пока вы отлаживаете один поток, другие остановлены, можно отлаживать код так же, как если бы он был однопоточный. Таким образом можно отладить все проблемы, за исключением проблем, вызванных непосредственно взаимодействием нескольких потоков.
      Ну а отладить проблемы взаимодействия нескольких потоков отладчиком сложно по нескольким причинам. Во первых, из-за не детерминированности их появления. Если имеется "состояние гонки" то ошибка проявляется не каждый раз, в только если один поток неудачно обгоняет другой. А во вторых, тут действует парадокс наблюдателя. Подключая отладчик, вы вмешиваетесь в работу потоков, и это влияет на воспроизводимость бага.
      В общем отладка многопоточного кода сложна, отладчик не всегда может помочь. Тогда используются другие методы, такие как логгирование, и статический анализ.
      К счастью существуют простые правила, следование которым может избавить от большинства проблем с взаимодействием потоков:
      tproger.ru/translations/10-java-multithread-practices/

  • @Kelbi28
    @Kelbi28 Год назад

    на 2:55 минуте как у вас получилось, что автоматически стало бегать туда-сюда по строке? у меня, когда я нажимаю f8, такого не происходит. Только стоит на одной строке, до тех пор пока сам вручную не буду нажимать f8. Надеюсь Вы меня поняли

  • @igorcoolman
    @igorcoolman 3 года назад

    в конце можно было бы и поподробнее, как пропускаем функцию и как заходим в нее или все время F7 нажимаем чередуя с F8?

  • @Noyvel
    @Noyvel 2 года назад

    Подскажите после дебага кнопки не активны step over step into не могу понять

    • @arhitutorials
      @arhitutorials  2 года назад

      Чтоб были активны нужно установить break point, чтоб выполнение программы дошло до этой точки остановки и остановилось на ней. После этого станут активны.

    • @Noyvel
      @Noyvel 2 года назад

      Спасибо

  • @pokalino4835
    @pokalino4835 4 года назад +1

    ПОМОГИТЕ ПОЖАЛУЙСТА! Что делать если я ставлю отладчик и у меня вылезает error 103?

  • @EdwardNorthwind
    @EdwardNorthwind 2 года назад

    У меня похожая ситуёвина была, брал данные с формы и должен был их обновить в базе. Посылаю Update, вреде всё верно, но данные в базе не меняются... И только на следующий день до меня дошло, что я забыл отправить данные из формы в модель. Меня в момент осознания прям порвало на хи-хи от абсурдности ситуации.

  • @SharpCoder
    @SharpCoder 4 года назад

    а вы пробовали использовать attach to process? у вас работало?

    • @arhitutorials
      @arhitutorials  4 года назад

      При разработке под Android регулярно использую, когда нужно вдруг что-то отладить, а приложение изначально не запущено в режиме отладки. Чтоб не перезапускать все заново, attach to process и вперед.

  • @ЮлияПозняк-ы5ц
    @ЮлияПозняк-ы5ц 3 года назад

    Подскажите, пожалуйста. Если у меня нет изначально окна debug, его надо как-то настроить? Просто появился build, а дебага нет. Если надо что-то устанавливать, может, есть ссылка? Спасибо за помощь

    • @arhitutorials
      @arhitutorials  3 года назад

      Нужно программу запустить в режиме отладки, то есть нажать на кнопку с иконкой жучка. Если нечего отлаживать, то и окно не появляется.

  • @igorcoolman
    @igorcoolman 3 года назад

    что я делаю не так, в Evaluate меняется значение,но при этом в vaiables не меняется и в итоге не работает правильно (

    • @igorcoolman
      @igorcoolman 3 года назад

      это было в винде на последней идее, а вот в линукс нормально отработало, хм

  • @Lucerbius
    @Lucerbius 2 года назад

    Хорошее видео. Только код очень мелкий.

  • @dmitryzavarzin2757
    @dmitryzavarzin2757 11 месяцев назад

    Гиганский лайк )

  • @КсенияБаикина-с1д
    @КсенияБаикина-с1д 3 года назад

    Друган, как через IDEA пользоваться калькулятором который вылазит по умолчанию, если в строке гугл вбить калькулятор)

  • @John.Constantine.777
    @John.Constantine.777 Год назад

    если случайное число получать через стрим findAny() в многопоточности с обработкой некоторого алгоритма, то случайное число будет зависеть от такого набора случайных на момент запуска алгоритма параметров системы, что оно действительно станет случайным.

    • @John.Constantine.777
      @John.Constantine.777 Год назад

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

  • @ИгорьБирт-я2щ
    @ИгорьБирт-я2щ 4 года назад

    Кто может объяснить почему в примере с псевдослучайным числом действительно получаются разные числа? По логике (моей) каждый раз должны получать одну и туже цифру...

    • @АндрейСидоров-ц3ж
      @АндрейСидоров-ц3ж 3 года назад

      Он же сам это объяснил, при каждом новом вызове метода происходит обновление статической переменной currentValue.

  • @John.Constantine.777
    @John.Constantine.777 Год назад

    чем копировать буфером, лучше контекстным меню воспользоваться.

  • @aliensvik9925
    @aliensvik9925 7 месяцев назад

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

  • @rndofpipowe
    @rndofpipowe Год назад

    Важнейшим инструментом при программировании является инженерный склад ума программиста.
    Но в мире "программистом_может_стать_каждый_только_заплати_за наш_курс" инженерное ремесло утрачено. В этом долбанутом мире, да дебагер - лучший друг кодопейсателя.

  • @ПавелПетренков-й8у
    @ПавелПетренков-й8у 3 года назад

    Война и мир в 4 х томах

  • @bereal6235
    @bereal6235 3 года назад +1

    очень мелко невозможно что за привычка у всех программистов

  • @Morrynsh
    @Morrynsh 2 года назад

    Спасибо! Очень полезная информация!

  • @arahnid_9844
    @arahnid_9844 2 года назад

    Отличное видео, большое спасибо 👍

  • @audiobooks_with_translation
    @audiobooks_with_translation 2 года назад

    Спасибо

  • @aicedd
    @aicedd 3 года назад

    Спасибо!

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Год назад

    Спасибо