предисловие
Люди не могут избежать делать неправильно.
С:Все студенты, изучившие эту статью, должны были сообщить об ошибках в периоде написания и периоде выполнения.
После того, как возникла проблема, я запрограммировал для Baidu и решил ее часть.Под "айсбергом" еще много скрыто, так что на работе все смеются над собой, что их ежедневная работа - писать баги.
Следовательно,Опытный программист должен не только владеть различными технологиями, но и демонстрировать зрелую и стабильную способность устранять ошибки.. В этой статье г-н Ча познакомит вас с распространенными решениями и методами устранения ошибок.освоил эти навыки, в большинстве случаев вам будет немного легче.
баги и отладки
Ошибка — это технический термин в компьютерной области, первоначально означавший «ошибка», и теперь он используется для обозначения уязвимости, существующей на компьютере.
Термин «ошибка» переводится как «ошибка» на «ошибка», и есть «сладкая» история: Грейс Хоппер, коммодор ВМС США и компьютерный ученый, которая программировала Harvard Mark II, и одна из первых программистов в мире. Однажды при отладке оборудования возникла проблема.После разборки реле обнаружила, что между контактами зажата моль, которая "затыкала" работу автомата. В результате Хоппер в шутку называл программные сбои «ошибками (BUG)», а устранение неполадок программ — DEBUG, и это странное «обозначение» позже стало профессиональным жаргоном в компьютерной сфере. [1]
К тому же не кричи как дилетант в будущем必忧计
Да, это называетсяbug
.
Учитель Ча сказал:
Есть в индустрии и такая холодная шутка: Кого из сыновей Цяньлуна больше всего ненавидят программисты?
Восьмой брат (баг)
Отладка идей
В повседневной жизни, когда возникает проблема с домашней цепью, я вызываю электрика для обслуживания.Электрик сначала сообщит нам об общей ситуации, увидит общее направление и возможность проблемы, а затем использует мультиметр и другие Профессиональные инструменты тестирования для проверки цепи по частям.Проведите осмотр и, наконец, найдите неисправную деталь и выполните соответствующее техническое обслуживание или замену деталей.
Мы должны следовать аналогичному ходу мыслей при отладке программ:
- уточнить потребности,Обратите внимание на подсказки и симптомы неисправности, чтобы увидеть, сможете ли вы определить общее направление проблемы и возможность
- прочитать код
- Выполнение программы оператор за оператором
- Наблюдайте за выполнением программы
- проблема найдена
- Решать проблему
Режим отладки
После освоения идей отладки есть несколько вспомогательных методов отладки, которые могут помочь нам быстро находить и исправлять ошибки.
метод отладки маленькой желтой утки
Метод отладки маленькой желтой утки (также известный как метод отладки резиновой утки, метод дегельминтизации желтой утки) является одним из методов отладки кода, используемых в разработке программного обеспечения.
Эта концепция основана на рассказе из книги «Путь программиста». Легенда гласит, что мастер программы носит с собой маленькую желтую утку.При отладке кода он кладет маленькую желтую утку на стол, а затем подробно объясняет утке каждую строчку кода[2]
Многие программисты задавали и объясняли проблемы программирования другим (возможно, даже людям, которые вообще не умеют программировать), и в процессе находили решение. Любые несоответствия между ними станут очевидными и облегчат обнаружение ваших собственных ошибок, наблюдая и отлаживая цель вашего кода, наблюдая за тем, что он есть на самом деле. Если нет игрушечного утенка, вы также можете поговорить с другими вещами, такими как цветы и растения на столе, клавиатура и мышь. Точно так же существует явление, называемое конусом ответов, которое является обычным явлением.Ваш друг пришел, чтобы задать вам вопрос, но, закончив вопрос или задав его на полпути, нашел ответ и ушел, оставив вас в неведении. Да, на этот раз ты играешь роль маленькой желтой уточки.. Есть много похожих концепций, таких как исповедальная отладка, картонные программисты или программистские манекены, мышление не в уме и так далее. В общем, в процессе попытки изложить свои мысли вы, естественно, подталкиваете себя к тому, чтобы систематизировать свои мысли и переосмыслить проблему. [3]
Метод отладки с маленькой желтой уткой — очень классическая техника чтения кода. Читая код, объясните себе или другому носителю, что означает соответствующий код. Некоторые простые проблемы были обнаружены просто так.
оператор вывода
Просто прочитайте код, если это ошибка в слове (ошибка в слове встречается чаще всего в процессе раннего обучения). В случае с нашими программистами, «защищающими теленка», иногда мы не можем его увидеть, сколько бы раз ни смотрели.«Мой код такой же, как и у него, и мой код правильный? Почему он не работает?»
В этом случае нам нужно найти некоторые ключевые места, чтобы добавить операторы вывода в процессе выполнения программы, а затем выполнить их, чтобы увидеть эффект вывода. Если оператор вывода и ожидаемый эффект неверны или вообще не выполняются, проблема, скорее всего, здесь.
Профессиональные средства отладки [важно]
Ошибки программы можно найти, прочитав код и добавив операторы вывода. Однако, когда структура программы становится все более и более сложной, или когда проблема все еще не найдена и не решена после того, как было потрачено много времени, для отладки необходимо сотрудничать с профессиональными инструментами отладки.
Встроен в JDKjdb
Его можно использовать для отладки программ в командной строке, но сейчас мы используем Eclipse, IDE, и у людей также есть соответствующие отладчики. Выбор между командной строкой и визуальным интерфейсом, несомненно, последний.
Отладка Eclipse
Далее мы используем случай, чтобы продемонстрировать шаги использования инструментов отладки в конкретном Eclipse.
описание проблемы
Требования к кейсу: вывести 5 чисел от 1 до 5.
Код:
int i = 1;
System.out.println("程序调试演示,注意观察 i 的值:");
while(i < 5){
System.out.println(i);
i++;
}
Существует проблема:Может выводить только до 4, не может выводить число 5
Шаги для использования
Программа работает со свистом, и мы не можем наблюдать за фактическим процессом выполнения построчно.Отладка программы Eclipse (отладка) также называется отладкой точки останова. Так называемая точка останова — это строка, на которой вы хотите остановить работающую программу, что позволяет вам анализировать ее построчно.
Шаг 1: Посмотрите на явление сбоя, проанализируйте ошибку и установите точки останова.
В левой колонке строки стартового кода, где вы хотите отслеживать выполнение программы, дважды щелкните левой кнопкой мыши, чтобы отобразить метку точки останова, и дважды щелкните, чтобы отменить точку останова.
Шаг 2: Начните отладку.
В это время мы уже неrun as
запустить, но щелкните правой кнопкой мыши, чтобыdebug as
бегать.
При запуске Eclipse откроет диалоговое окно с запросом, хотите ли вы переключиться в режим отладки. Мы нажимаем переключатель, чтобы переключиться в прошлое. После запуска отладки он выполнит код в обычном порядке выполнения и не остановится, пока не встретит строку точки останова. На данный момент эта строка кода находится вожидание исполнения, состояние, которое еще не было выполнено.
Компоновка интерфейса представления отладки выглядит следующим образом:
Шаг 3: Одноэтапная операция.
Непрерывно нажимайте клавишу F6, чтобы запустить программу за один шаг, то есть выполнить программу построчно.В это время мы можем наблюдать за ходом выполнения программы.
Шаг 4: Наблюдайте за изменениями переменных.
В процессе выполнения строка за строкой вы можете наблюдать за таблицей переменных справа, чтобы просмотреть изменение переменной, непосредственно навести указатель мыши на имя переменной или непосредственно просмотреть ее текущее значение.
Выбрав выражение, вы также можете просмотреть результат оценки выражения.
Использование других кнопок отладки:
Мы можем нажать F8, нажать ее, и он быстро выполнит строку кода до следующей точки останова перед остановкой. Таким образом, мы можем наблюдать только эффект тех строк кода, которые хотим видеть.
Учитель Ча сказал:Во время работы вы можете добавлять или отменять точки останова в любое время, что очень удобно.
Мы также можем нажать Ctrl + F2, чтобы завершить текущую отладку в любое время.
Ну и отладим напоследок.При отладке до последней ссылки легко найтиi
Когда значение равно 5, вход в цикл невозможен. Проблема кроется здесь. Измените условное выражение наi <= 5
Все будет хорошо.
После отладки вы можете быстро очистить все точки останова в таблице точек останова справа, а затем щелкнуть значок представления Java в правом верхнем углу, чтобы вернуться в предыдущий режим разработки.
использованная литература
[1] Baidu Encyclopedia.bug (уязвимость в компьютерной сфере) [EB/OL].Encyclopedia.Baidu.com/item/but/33…. 2020-1-13
[2] Baidu Academic Программист-прагматик: от подмастерья до мастера [EB/OL].Academic.Baidu.com/user center/…. 2021-1-13
[3] Энциклопедия Baidu, Метод отладки маленькой желтой утки [EB/OL].baike.baidu.com/item/Метод отладки с маленькой желтой уткой…. 2021-1-13
постскриптум
В этой статье г-н Ча попытался добавить несколько динамических изображений в формате gif, чтобы лучше показать некоторые этапы работы, я надеюсь, что они будут вам полезны, и я надеюсь, что вы сможете понять этот молчаливый «диалог».
Эта статья также является первой отладкой программы в серии «Введение в язык» Учителя Ча. Это всего лишь вводная операция. С продолжением серии будут добавлены дополнительные навыки использования и функции других кнопок отладки.
Я надеюсь, что теперь вы будете эффективно использовать инструменты отладки программ каждой IDE.Это определенно более эффективно, чем просто смотреть на код, когда вы сталкиваетесь с проблемами или у вас возникает плохая идея.
Учитель Ча сказал:При изучении технологии г-н Ча всегда следовал следующим шагам: сначала использовать самую простую демонстрацию, чтобы запустить ее, затем изучить ее наиболее часто используемый API и конфигурацию, чтобы вы могли ее использовать, и, наконец, на основе квалифицированного использования, в Попробуйте прочитать его исходный код в свободное время, чтобы понять механизм его работы и причины некоторых проблем, и в то же время извлечь уроки из этих технических реализаций, чтобы улучшить свой код.
Таким образом, в статье г-на Ча ранняя стадия представляет собой в основном небольшой белый текст, и лишь небольшое количество исследований исходного кода перемежается. Конечно, когда Xiaobaiwen обновляется больше, она вам все равно нравится, а исходный код некоторых технологий будет время от времени анализироваться на более позднем этапе.