В дополнение к написанию кода большую часть времени программисты проводят много времени отладки кода. Даже говорится, что он либо отлаживает код, либо собирается отлаживать код. :)
Сегодня мы поговорим о некоторых советах по отладке кода и некоторым способам быстро найти проблемы при использовании отладчиков, предоставленных IDE.
Друзья, которые видят это, не думайте обо мне как о титульной вечеринке сразу. Давайте посмотрим. Если у вас есть лучшие навыки, пожалуйста, оставьте сообщение.
Давайте перейдем к теме.
1 многопоточная отладка
Друзья, которые разработали слишком много резьбовых приложений, должны иметь понимание. Иногда, чтобы наблюдать за различными состояниями переменных между несколькими потоками, а также приобретением замков, они подумают о добавлении точки останова для отладки кода.
Когда точка остановки останавливается в IDE, вы можете переключиться на другой поток и запустить другие коды, не затрагивая друг друга. Конечно, здесь есть переключатель, который включается по умолчанию в Eclipse.
Тем не менее, это не включено по умолчанию в идее Intellij. То есть, если вы добавите точку останова в код в идее, хотя один поток сломается, другие потоки уже выполнили ее.
После установки приостановки потока к тому же, что и режим Eclipse, отладка многопоточных приложений также можно начать.
Простые настройки могут быть непосредственно в точке останова и изменять подвеску на потоку
Измените настройки по умолчанию в Idea: переключитесь на радиопроизводительность «Thread», нажмите кнопку «Сделайте по умолчанию», которая появляется
После того, как поток сломается, вы можете переключаться через окно потока и продолжить работу в других потоках.
Переключиться сюда в идее Intellij
Мы видим, что как основная поток, так и пул-1-thread-1 находятся в состоянии работы, и переключение на любой может продолжать работать.
В настоящее время вы можете написать многопоточное приложение и сохранить контент в не-салотных контейнерах, таких как Arrylist, а затем наблюдать, почему они являются нитью, и какие проблемы будут, которые являются яркими и яркими.
PS: Позвольте мне сказать вам здесь, поэтому рекомендуется дать значимое имя при создании потока, по крайней мере, узнаваемого имени. В противном случае, вы не можете различить, какой поток ваш собственный, и переключать трудно.
2 обратное выполнение
Обратное выполнение, упомянутое здесь, заключается в том, что иногда, когда мы отлаживаем код, каждый метод ленив и вступает в пошаговую отладку. Когда вы наблюдаете изменение переменного значения, определенный метод не следит, и значение значения изменяется, и вы должны сделать это снова.
Полагаясь на функцию обратного исполнения, вы можете назад, точно так же, как функция сожаления о шахматах при игре в шахматы. Конечно, название этой обратной операции было названо мне и называется Drop Frame в IDE.
С помощью этой функции после того, как мы отбросили текущую кадр, измененное значение переменной не будет восстановлено. Например, если вы передаете список в метод, вызываемый в настоящее время, и добавляете контент в список в методе, то при падении в место, где называется метод, список не вернется к своему предыдущему состоянию.
Но когда метод снова вызван, вы можете наблюдать, когда список изменяется, по крайней мере, вам не нужно снова запускать программу. Вы можете даже отступить, если не согласны.
3 Условные точки останова
Чтобы отлаживать код, вам нужно добавить точки останова, где вы хотите наблюдать изменения, а затем тщательно выполнить их шаг за шагом.
Однако, если он находится в цикле, или если метод вызывается несколькими потоками одновременно, вы тщательно уходите вниз и обнаруживаете, что у вас не существует контента, и с самого начала цикла, но если у вас все еще нет контента, вы начнете расстраиваться.
Фактически, при добавлении точки останова мы можем добавить определенные условия в точку останова, чтобы точка останова вступила в силу только при выполнении указанных условий.
В идее Intellij щелкните правой кнопкой мыши по точке останова, и появится окно условия на рисунке ниже, просто введите указанные условия.
С условными точками останова не связанные и не заинтересованные коды могут быть пропущены напрямую.
4 фрагментный код
Я не думал о том, какое имя выразит это. Иногда во время процесса отладки я внезапно хочу развлечь кусок кода, связанный с этим, но не в исходном файле, чтобы наблюдать за анализом проблем. На этом этапе вы остановите программу, добавите код и запустите его снова?
В идее есть функция для выполнения фрагментов кода, которые могут выполнить код, который вы временно пишете в контексте текущего кода.
Например, текущий метод проходит в списке, но в этом методе отсутствует элемент, который вам необходимо использовать в последующих условиях. В настоящее время вы можете временно использовать функцию выполнения кода фрагмента и добавить одну.
Обратите внимание, что в идее IntelliJ кнопка выше, как небольшой калькулятор, является временной функцией. После нажатия, ящик «Оценка выражения» (CTRL+F8) под кнопкой появится. Введите код и нажмите «Оценка» в правом нижнем углу. Возвратное значение будет отображаться в результате.
Это эквивалентно временно изменению содержания переменной.
Затем вы также можете вызвать методы объекта, выполнять функции, получить значения атрибутов и т. Д.
5 Просмотреть значение переменной модификации
Каждый IDE предоставляет окно для наблюдения за текущим значением переменной контекста при отладке кода. Фактически, в дополнение к просмотру, некоторые нефинальные основные типы также могут быть изменены непосредственно здесь. Таким образом, если выполняются несколько петель, ожидаемое значение может быть восстановлено каждый раз, и нет необходимости перезагрузить программу.
Обычно используемые коды автоматически завершают ярлыки клавиши
| Ключ ярлыка | иллюстрировать |
|---|---|
| прокат | System.out.println ("" "); |
| PSVM | Основной метод |
Общие настройки
Обычно используются ярлыки
| Ключ ярлыка | иллюстрировать |
|---|---|
| Alt + ctrl + s | Откройте настройки |
| Alt + ctrl + shift + s | Открытый проект Structrue |
| Alt + Enter | Быстрое исправление |
| Alt + / | Автоматическое завершение слова |
| Alt + вставка | Код сгенерирован автоматически, такой как сеттер, getter, tostring и т. Д. |
| Alt + shift + v | Переместить членов класса в другой класс |
| Ctrl + shift + f | Код формата |
| Ctrl + shift + u | Переключение дела |
| Ctrl + shift + i | Определить определения кода в соответствии с текущим контекстом, например: когда курсор останавливается на методе, определение метода будет отображаться во всплывающем способе. |
| Ctrl + щелчок | Перейти к исходному коду |
| Shift + Shift | Поиск всех файлов |
| Ctrl + E. | Откройте список недавних файлов. |
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.