Спасибо, годное видео, а отладчик похоже очень мощный инструмент. Не знал, что его функционал позволяет не только мониторить ход исполнения программы, но и напрямую влиять на ее состояние по ходу выполнения
очень хорошее видео, особенно последняя часть с примером использования в настоящем приложении, в свое время мне бы очень помогло если бы вовремя увидел как происходит непосредственно поиск ошибок, а не просто работу отладчика...
Break point по умолчанию останавливает выполнение всех потоков. Соответственно пока вы отлаживаете один поток, другие остановлены, можно отлаживать код так же, как если бы он был однопоточный. Таким образом можно отладить все проблемы, за исключением проблем, вызванных непосредственно взаимодействием нескольких потоков. Ну а отладить проблемы взаимодействия нескольких потоков отладчиком сложно по нескольким причинам. Во первых, из-за не детерминированности их появления. Если имеется "состояние гонки" то ошибка проявляется не каждый раз, в только если один поток неудачно обгоняет другой. А во вторых, тут действует парадокс наблюдателя. Подключая отладчик, вы вмешиваетесь в работу потоков, и это влияет на воспроизводимость бага. В общем отладка многопоточного кода сложна, отладчик не всегда может помочь. Тогда используются другие методы, такие как логгирование, и статический анализ. К счастью существуют простые правила, следование которым может избавить от большинства проблем с взаимодействием потоков: tproger.ru/translations/10-java-multithread-practices/
мы же с вами понимаем, что в результате детерминированного алгоритма.... насмешил))))) гугл мне в помощь))) За видео спасибо! Реально нужная и важная информация.
на 2:55 минуте как у вас получилось, что автоматически стало бегать туда-сюда по строке? у меня, когда я нажимаю f8, такого не происходит. Только стоит на одной строке, до тех пор пока сам вручную не буду нажимать f8. Надеюсь Вы меня поняли
У меня похожая ситуёвина была, брал данные с формы и должен был их обновить в базе. Посылаю Update, вреде всё верно, но данные в базе не меняются... И только на следующий день до меня дошло, что я забыл отправить данные из формы в модель. Меня в момент осознания прям порвало на хи-хи от абсурдности ситуации.
При разработке под Android регулярно использую, когда нужно вдруг что-то отладить, а приложение изначально не запущено в режиме отладки. Чтоб не перезапускать все заново, attach to process и вперед.
Чтоб были активны нужно установить break point, чтоб выполнение программы дошло до этой точки остановки и остановилось на ней. После этого станут активны.
Я в corel draw по 2 пикселя буковы печатаю . Видеокарты и разрешения мониторов позволяют. О чем вы думали когда загружали эту мутную тень ? Да .я догадываюсь ,что сами то хоть видите.
Подскажите, пожалуйста. Если у меня нет изначально окна debug, его надо как-то настроить? Просто появился build, а дебага нет. Если надо что-то устанавливать, может, есть ссылка? Спасибо за помощь
если случайное число получать через стрим findAny() в многопоточности с обработкой некоторого алгоритма, то случайное число будет зависеть от такого набора случайных на момент запуска алгоритма параметров системы, что оно действительно станет случайным.
вообще, если рассудить глобально, то ничего случайного в этой Вселенной нет, все предопределено и может быть просчитано. Любой человек есть продукт внешнего воздействия окружающей среды за период его жизни, а характер, берущийся неизвестно откуда при рождении, скорее всего тоже сгенерирован неким алгоритмом псевдослучайных чисел, о котором нам пока неизвестно. Т.е. вы думаете, что случайно встретили Васю на улице, но Вася там оказался потому, что Петя его позвал, а Петя его позвал, потому, что Федя обрезал ему кабель телевизионной антенны, а Федя так поступил только потому, что вы дали ему вчера пинка. Ничего случайного.
Кто может объяснить почему в примере с псевдослучайным числом действительно получаются разные числа? По логике (моей) каждый раз должны получать одну и туже цифру...
Важнейшим инструментом при программировании является инженерный склад ума программиста. Но в мире "программистом_может_стать_каждый_только_заплати_за наш_курс" инженерное ремесло утрачено. В этом долбанутом мире, да дебагер - лучший друг кодопейсателя.
Это лучшее видео по дебагу в рунете! Спасибо огромное!
Хотелось бы шрифт побольше (Ctrl + колесико мыши) и на курсор цветной указатель. А то ни черта не видно!
Это лучший комент по дебагу в рунете! Спасибо огромное!
Спасибо за содержательное видео и приятную подачу материала.
Спасибо! Мне этого знания не хватало. Раньше ставил breakpoint'ы на каждой строке и перемещался по ним.
Поддерживаю! Чудесное видео, теперь искать дефекты стало гораздо легче, чем везде писать sout)
Спасибо за такой классный видеоурок, да ещё и с хорошим пример! Огромное спасибо!
Спасибо! Очень круто! Очень приятно слушать, информативно и доходчиво! Пожалуйста, не останавливайся в выпуске роликов))
огромное спасибо, все доступно понятно, у Вас талант вести такие познавательные уроки!
Как же ты хорошо объясняешь!!!
Урок очень полезный и познавательный. Спасибо!
8:00 заметка потом досмотрю , спасибо слушать реально интересно
Спасибо, очень понятно и нет воды)
чёткое объяснение, спасибо большое!
Какой классный урок! Спасибо!
Спасибо огромное, очень полезное видео.
Спасибо! очень доходчиво рассказываете. Узнаю много нового из ваших видео!
все очень подробно и понятно. Спасибо за видео, очень помогло
Много нового почерпнул, спасибо!
Спасибо, годное видео, а отладчик похоже очень мощный инструмент. Не знал, что его функционал позволяет не только мониторить ход исполнения программы, но и напрямую влиять на ее состояние по ходу выполнения
Огромное спасибо
Спасибо, закрепил имеющиеся знания и узнал несколько фич)
Спасибо огромнейшее!
спасибо ! полезный ролик , теперь поприятнее будет отладку делать
очень хорошее видео, особенно последняя часть с примером использования в настоящем приложении, в свое время мне бы очень помогло если бы вовремя увидел как происходит непосредственно поиск ошибок, а не просто работу отладчика...
70 000+ напоминаний о хоткей на stepover) спс!
Спасибо.... уложилось в голове процентов 40, но и то... потом пересмотрю ешё пару паз
Классное видео , спасибо !
Спасибо за урок
Спасибо, помог разобраться с дебагом
Отличное видео и подача материала, спасибо!
Спасибо за видео обучение!) Респект и уважуха
Отличное видео, большое спасибо 👍
Спасибо большое Вам, ставлю лайк.
Спасибо крутое видео! Я до этого просто логи использовал :-)
То же самое)
Спасибо! Узнал новое!
Спасибо! очень хорошее видео и все по полочкам!
Спасибо Вам за это видео!
Спасибо! Очень познавательно для новчика.
Спасибо, расширил поверхностные знания.
А будет продолжение с объяснением как отлаживать многопоточный код?
Break point по умолчанию останавливает выполнение всех потоков. Соответственно пока вы отлаживаете один поток, другие остановлены, можно отлаживать код так же, как если бы он был однопоточный. Таким образом можно отладить все проблемы, за исключением проблем, вызванных непосредственно взаимодействием нескольких потоков.
Ну а отладить проблемы взаимодействия нескольких потоков отладчиком сложно по нескольким причинам. Во первых, из-за не детерминированности их появления. Если имеется "состояние гонки" то ошибка проявляется не каждый раз, в только если один поток неудачно обгоняет другой. А во вторых, тут действует парадокс наблюдателя. Подключая отладчик, вы вмешиваетесь в работу потоков, и это влияет на воспроизводимость бага.
В общем отладка многопоточного кода сложна, отладчик не всегда может помочь. Тогда используются другие методы, такие как логгирование, и статический анализ.
К счастью существуют простые правила, следование которым может избавить от большинства проблем с взаимодействием потоков:
tproger.ru/translations/10-java-multithread-practices/
Очень содержательно!
Отличное видео. Спасибо. Лайк, подписка)
За подачу материала лайк и подписка
Спасибо
Большое спасибо за видео, давно искал как им пользоваться. Бумага дома уже закончилась от дебаггинга на тетрадке)
Спасибо за видео!
отличное видео
Нравится подача, лайк ,подписка ,звонок. Продолжай!
мы же с вами понимаем, что в результате детерминированного алгоритма.... насмешил))))) гугл мне в помощь))) За видео спасибо! Реально нужная и важная информация.
Огромное спасибо))))))))))
спасибо!!!
Спасибо Сергей! Мне для начала дебаггинга достаточно :).
Thank you!
Спасибо!
спасибо
Лайк, подписка и колокол. Без слов
Очень помогло. Спасибо.
очень крутой и информативный видос, спасибо
в конце можно было бы и поподробнее, как пропускаем функцию и как заходим в нее или все время F7 нажимаем чередуя с F8?
на 2:55 минуте как у вас получилось, что автоматически стало бегать туда-сюда по строке? у меня, когда я нажимаю f8, такого не происходит. Только стоит на одной строке, до тех пор пока сам вручную не буду нажимать f8. Надеюсь Вы меня поняли
Норм дядя объяснил.
У меня похожая ситуёвина была, брал данные с формы и должен был их обновить в базе. Посылаю Update, вреде всё верно, но данные в базе не меняются... И только на следующий день до меня дошло, что я забыл отправить данные из формы в модель. Меня в момент осознания прям порвало на хи-хи от абсурдности ситуации.
а вы пробовали использовать attach to process? у вас работало?
При разработке под Android регулярно использую, когда нужно вдруг что-то отладить, а приложение изначально не запущено в режиме отладки. Чтоб не перезапускать все заново, attach to process и вперед.
ПОМОГИТЕ ПОЖАЛУЙСТА! Что делать если я ставлю отладчик и у меня вылезает error 103?
Подскажите после дебага кнопки не активны step over step into не могу понять
Чтоб были активны нужно установить break point, чтоб выполнение программы дошло до этой точки остановки и остановилось на ней. После этого станут активны.
Спасибо
Хорошее видео. Только код очень мелкий.
Я в corel draw по 2 пикселя буковы печатаю . Видеокарты и разрешения мониторов позволяют.
О чем вы думали когда загружали эту мутную тень ?
Да .я догадываюсь ,что сами то хоть видите.
что я делаю не так, в Evaluate меняется значение,но при этом в vaiables не меняется и в итоге не работает правильно (
это было в винде на последней идее, а вот в линукс нормально отработало, хм
чем копировать буфером, лучше контекстным меню воспользоваться.
Друган, как через IDEA пользоваться калькулятором который вылазит по умолчанию, если в строке гугл вбить калькулятор)
Гиганский лайк )
Подскажите, пожалуйста. Если у меня нет изначально окна debug, его надо как-то настроить? Просто появился build, а дебага нет. Если надо что-то устанавливать, может, есть ссылка? Спасибо за помощь
Нужно программу запустить в режиме отладки, то есть нажать на кнопку с иконкой жучка. Если нечего отлаживать, то и окно не появляется.
если случайное число получать через стрим findAny() в многопоточности с обработкой некоторого алгоритма, то случайное число будет зависеть от такого набора случайных на момент запуска алгоритма параметров системы, что оно действительно станет случайным.
вообще, если рассудить глобально, то ничего случайного в этой Вселенной нет, все предопределено и может быть просчитано. Любой человек есть продукт внешнего воздействия окружающей среды за период его жизни, а характер, берущийся неизвестно откуда при рождении, скорее всего тоже сгенерирован неким алгоритмом псевдослучайных чисел, о котором нам пока неизвестно.
Т.е. вы думаете, что случайно встретили Васю на улице, но Вася там оказался потому, что Петя его позвал, а Петя его позвал, потому, что Федя обрезал ему кабель телевизионной антенны, а Федя так поступил только потому, что вы дали ему вчера пинка. Ничего случайного.
Кто может объяснить почему в примере с псевдослучайным числом действительно получаются разные числа? По логике (моей) каждый раз должны получать одну и туже цифру...
Он же сам это объяснил, при каждом новом вызове метода происходит обновление статической переменной currentValue.
Важнейшим инструментом при программировании является инженерный склад ума программиста.
Но в мире "программистом_может_стать_каждый_только_заплати_за наш_курс" инженерное ремесло утрачено. В этом долбанутом мире, да дебагер - лучший друг кодопейсателя.
Война и мир в 4 х томах
очень мелко невозможно что за привычка у всех программистов
Спасибо! Очень полезная информация!
Спасибо
Очень полезное видео, спасибо)
Спасибо!
Спасибо