Продвинутый дебаг в xcode: средства отладки, про которые часто забывают

Содержание

Удаленная отладка с IDA Starter

С некоторого времени популярный и весьма мощный дизассемблер IDA Pro стал распространяться бесплатно для частного использования. Разумеется, речь идет о его урезанной версии — IDA Starter. Основная функция этого инструмента — статический анализ, но, помимо этого, он умеет удаленно отлаживать приложения. Сейчас мы разберемся, как его настроить для удаленной отладки.


Итак, в корневой папке IDA ты найдешь каталог , внутри которого есть несколько серверов под разные ОС и архитектуры процессора. Если ты собираешься отлаживать 64-разрядные приложения, то на гостевой ОС необходимо запустить файл , предварительно скопировав его в виртуальную машину. После запуска он сообщит нам IP отладочного сервера и порт, через который происходит отладка. Если необходимо запустить этот сервер с возможностью авторизации, просто добавь параметр и пароль при запуске сервера отладки.

Теперь переходим на основную машину, чтобы настроить удаленную отладку в самой IDA.

Сервер IDA на целевой машине

Для настройки отладчика в IDA открывай меню Debugger → Select debugger или жми F9. Теперь в списке доступных отладчиков выбирай Remote Windows Debugger. Появится окно, предупреждающее о рисках дебага, отвечай утвердительно, если понимаешь их.

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

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Предустановки

В этой статье процесс отладки будет рассмотрен на примере тестового приложения под названием «Quick Chat»:

У вас есть два способа работы с этим приложением. Вы можете самостоятельно создать его, воспользовавшись этой серией видеоуроков. Или же вы можете использовать исходный код уже готового приложения «Quick Chat»:

Какой бы вариант вы не выбрали, вам потребуется локально запустить приложение «Quick Chat».

Вы можете запустить приложение из-под Node.js (как это делаю я). Или воспользоваться плагином под Visual Studio Code под названием Live Server.

Если вы новичок в работе с этим плагином, то можете научиться работать с ним при помощи этого видео — Live Server Extension in Visual Studio Code.

В процессе создания данной статьи я добавил в приложении «Quick Chat» небольшую намеренную ошибку, которая не позволяет зарегистрировать пользователя после его входа в систему.

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

Но это не совсем тот случай, который мог бы мне помочь, как вы можете увидеть на изображении ниже. Если же использование было также вашей первой мыслью — вы попали по адресу и правильно делаете, что читаете эту статью!

Не работает WP_DEBUG?

Иногда может возникнуть такая ситуация, когда вы включаете WP_DEBUG в конфиге, а ошибки все равно не видно. Такое поведение может возникнуть, когда где-то после установок параметров показа ошибок самим WordPress эти установки меняются. Например в MU плагине, обычном плагине или в теме, ошибки выключаются переустановкой ini директив PHP, примерно таким кодом:

error_reporting(0); // отключает сообщения об ошибках
ini_set('display_errors', 0); // отключает показ ошибок на экран

В этом случает установки дебага WP перебиваются и он перестает работать…

Для решения, лучше всего найти где изменяются настройки и удалить такие строки, чтобы дальше работать только с константой WP_DEBUG.

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

error_reporting(E_ALL); // включаем сообщения об ошибках
ini_set('display_errors', 1); // включаем показ ошибок на экран

Formatters

Formatter Representation
Pretty-print an Object on multiple lines.
Pretty-print an Object all on a single line.
String.
Number (both integer and float).
JSON. Replaced with the string » if the argument contains circular references.
Single percent sign (‘%’). This does not consume an argument.

You can add custom formatters by extending the object. For example, if you wanted to add support for rendering a Buffer as hex with , you could do something like:

constcreateDebug=require('debug')createDebug.formatters.h=(v)=>{returnv.toString('hex')}constdebug=createDebug('foo')debug('this is hex: %h',newBuffer('hello world'))

HTTP Debugger Features

Debug HTTP API calls to back-ends and between back-ends

Debug HTTP API calls

HTTP Debugger is a proxy-less HTTP sniffer with clean UI and very easy to use. Doesn’t change the browser’s configuration for the proxy. Can display HTTP(s) traffic from any browser and JAVA/.NET apps.

Edit and Resubmit HTTP Sessions

Edit and resubmit tweaked HTTP sessions back to your server and check how it handles such requests, for example: testing the security or authorization flow with or without special headers, cookies, etc.

Highlighting of Errors and Slow Requests

HTTP Debugger automatically highlights errors, slow and large requests. You can create custom highlighting rules in one click.

Visualize Your Traffic

Visualize your traffic in form of charts. Find the slowest and largest requests, most requested domains and content types.

Built-in Viewers for Various Data Types

HTTP Debugger contains many built-in viewers for various datatypes, including HTTP header viewers, HTML/JS/CSS viewers with syntax highlighting, XML/JSON tree viewers, Cookies viewer, URL Params viewer, Images viewer, HTTP Session Summary viewer and many others.

Modify HTTP Traffic On-Fly

With HTTP Debugger you can emulate various server behaviors without actually making required code changes on the server side. You can add/remove HTTP headers, change HTTP content, redirect requests from one server to another, and many more.

Debug Issues Remotely

Your clients may use the HTTP Debugger FREE Express version to record HTTP traffic locally and send you session files containing the reproduction flow of a problem.

See Incoming HTTP Traffic of Local Servers

With HTTP Debugger you can view the incoming HTTP traffic for locally running web servers, powered by Node.js, IIS Express, Apache and others.

Built-in URL/Text converter to decode (or encode) URL, Base64, or Hex encoded strings.

Accurately measure the network performance of a page and view opportunities for boosting its speed.

Export data to Microsoft Excel

HTTP Debugger can export all captured HTTP/HTTPS traffic to Microsoft Excel or save it to disk in XML, JSON, CSV, TXT or binary formats for feature analyses.

HTTP Debugger automatically numbers all requests in the chronological order.

Save and Restore Sessions

HTTP Debugger may save your current session to a file. After restoring from session file you will have absolutely the same data in HTTP Debugger as at the time you saved it.

Общие инструменты отладки

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

Как настроить дамп памяти в Windows 10

Для того чтобы настроить аварийный дамп памяти Windows 10 необходимо придерживаться следующих действий:

1. Правой кнопкой мыши кликаем на пуск Windows 10. В появившемся контекстном меню выбираем пункт «Система».

2. В окне «Система» в верхнем углу слева выбираем «Дополнительные параметры системы».

3. В окне «Свойства системы» в пункте «Загрузка и восстановление» нажимаем «Параметры».

Тут и происходит настройка аварийного дампа памяти Windows 10.


Настраивая дамп памяти можно не пренебрегать следующими рекомендациями:

— Поставить галочку на «заменить существующий файл дампа». Учитывая тот факт, что данные могут весить десятки, а то и сотни гигабайт — это очень полезно для небольших жёстких дисков;

— Запись отладочной информации. Эта функция позволит выбрать вид дамп файла;

— Выполнить автоматическую перезагрузку. Продолжение работы, после возникшей ошибки;

— Запись события в системный журнал. Информация о системном сбое будет добавлена в логи операционной системы.

Дамп памяти Windows 10 является удобным и действительно работающим методом страховки системных данных.

Зная «врага в лицо» его будет в разы проще найти и ликвидировать. Дамп памяти Windows 10 позволит выявить причину системного сбоя и скорректировать действия по ликвидации ошибки, значительно уменьшив радиус усилий и работ.

License

(The MIT License)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

WP_DEBUG_LOG

По умолчанию:

Еще один компонент дебага. Включает запись ошибок в файл /wp-content/debug.log. Зависит от — работает только если равен true.

Запись ошибок в файл может пригодится, когда нужно проверить наличие ошибок в коде, который ничего не выводит на экран. Например, при AJAX запросе или при тестировании CRON или REST.

define( 'WP_DEBUG_LOG', true ); // true - запись ошибок в файл /wp-content/debug.log
Через WP

C WordPress 5.1, в можно указать путь к файлу лога:

define( 'WP_DEBUG_LOG', '/srv/path/to/custom/log/location/errors.log' );
Через PHP

Чтобы изменить название файла, добавьте следующую строку как можно раньше, например в MU плагины:

ini_set( 'error_log', WP_CONTENT_DIR . '/hidden-debug.log' );

Но эту строку нельзя добавлять в — это слишком рано…

Имейте ввиду:

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

Команды

Запуск отладчика

Программа вызывается через командную строку:

DEBUG

DEBUG имя_файла ]

DEBUG C:\мойпуть\My.com

Работа с файлами

Команда Описание Пример
-N -N Путь_Имя_Файла. С помощью этой команды можно загружать и сохранять файлы. Сокращённо от слова Name. -N My.com
-L Загрузка файла. Сокращённо от слова Load. -N My.com -L
-W -W Путь_Имя_Файла. Сохранить файл. Сокращённо от слова Write. -N My.com -W
 Writing Число_Байт bytes

Отображение и изменение значений регистров

Команда Описание Пример
-R Выдаёт содержание всех регистров. -R
  AX=D3E0 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000  
  DS=16BB ES=16BB SS=16BB CS=16BB IP=0100 NV UP DI PL NZ NA PO NC  
  15A3:0100 30C0    XOR AL,AL                                      
-R Просмотр регистра и запись нового значения в регистр. -R AX
 AX 0000  
666

Дамп памяти

Команда Описание Пример
-D Выдаёт содержимое памяти. Сокращённо от слова Dump. -D
-D L Выдаёт содержимое памяти от начального сегмента до конечного сегмента. Чтобы вывести всю память нужно ввести -D 0 L 0 -D 0000 L 0005
 1814:0000 CD 20 FF 9F 00

Дизассемблирование

Команда Описание Пример
-U Команда преобразования кода в инструкции ассемблера. Сокращённо от слова Unassemble. -U
 1814:0100 ADD ,AL 
 1814:0102 XOR AL,00

Ассемблирование

Команда Описание Пример
-A Преобразования инструкции ассемблера в машинный код. Сокращённо от слова Assemble. -A 1814:0100 MOV AX,0009 1814:0103

Компиляция

Команда Описание Пример
-G Запуск исполнения программы. Сокращённо от слова Go. -G
 Program terminated normally
-G = Начиная с этого адреса начинается компиляция. -G =100
-G … Программа запускается и выполняется пока не дойдёт до брейкпоинта после чего она остановится и выведет значения регистров для продолжения работы необходимо нажать -G. Максимальное число брейкпоинтов 10. -G 176 47d 537 647

Трассировка

Команда Описание Пример
-T Команда имеет сходство с командой (-G) Go, но отличается тем что выводит значения регистров после каждой инструкции. Сокращённо от слова Trace. -T
-T = Дополнительно указывает с какого адреса запускаться программе и количество исполняемых инструкций. -T =100 5

Вкладка Sources

Первое, что вы могли заметить на этой вкладке — это копию исходного кода приложения. Это код, который браузер загрузил и с которым он работает.

Вы также можете заметить, что строка кода с оператором подсвечена синим цветом, чтобы сообщить нам, что выполнение приложения остановлено на данном участке кода:

Браузер Google Chrome предоставляет нам возможность просматривать исходный код приложения. Имея перед собой исходный код, можно установить в нем точки останова.

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

Чтобы добавить точку останова, нужно выполнить клик мыши на — поле слева от нумерации строк кода. Как только вы выполните это действие, то заметите, что браузер Google Chrome автоматически добавил эту точку останова в список «Breakpoints»:

Отладка в Visual Studio Code

Инструмент Chrome Developer Tools является одним из лучших в своем роде. Как вы уже видели, он предлагает отличные возможности и функционал для отладки приложения.

Однако командой разработчиков Visual Studio Code была проделана большая работа для того, чтобы сделать процесс отладки в этом редакторе ещё более совершенным.

Мне очень нравится Visual Studio Code и я провожу в нем больше времени, чем в каком-либо другом редакторе кода. Этот процесс включает в себя и отладку.

Чтобы начать отладку кода в VS Code, вам нужно будет установить плагин :

Давайте познакомимся с вкладкой . По умолчанию она расположена на боковой панели редактора. Откройте эту вкладку, нажав на значок, который выглядит как жучок (bug).

Открыв эту панель, вы увидите инструменты, очень похожие на те, что мы видели в браузере Google Chrome — переменные, стек вызовов, точки останова:


Теперь, когда мы познакомились с вкладкой , нам необходимо создать конфигурацию, которая укажет редактору VS Code, как ему отлаживать наше приложение.

VS Code хранит конфигурацию отладки в файле внутри папки . Чтобы VS Code создал этот файл для нас, в меню редактора откройте выпадающий список «Нет конфигураций» («No Configurations») и выберите «Добавить конфигурацию» («Add Configuration»).

Затем из этого списка выберите пункт «Chrome»:

Из раскрывающегося списка выберите конфигурацию «Chrome: Launch»:

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

Нам нужно внести небольшое изменение в эту конфигурацию — правильно указать на исходный код тестируемого приложения. Исходный код приложения находится в каталоге , поэтому необходимо изменить значение свойства «webRoot».

Чтобы это сработало, что приложение уже должно быть запущено локально на определенном порту:

Когда конфигурация настроена, можно начать сеанс отладки, нажав зеленую кнопку «Run Code». Приложение должно открыться в окне браузера Google Chrome, как показано ниже.

Обратите внимание на меню отладки кода, которое появилось в фоновом режиме редактора VS Code. С помощью этой панели можно остановить, перезапустить, продолжить выполнение кода или использовать пошаговые возможности для навигации по коду и взаимодействия с отладчиком:

С запущенным отладчиком вы можете установить контрольную точку в коде так, как мы это делали в Google Chrome. Для этого нажмите на поле рядом с номером нужной строки. Я устанавливаю точку останова в том же месте, что и раньше, внутри обработчика события входа в систему.

Теперь если попытаться войти в систему без заданного имени пользователя, точка останова должна инициировать переход в редактор VS Code для дальнейшего анализа кода приложения:

Вся функциональность отладчика кода, которую мы рассмотрели в браузере Google Chrome, аналогична той, что и в редакторе VS Code.

Если вы хотите добавить условную точку останова, щелкните правой кнопкой мыши на поле и выберите «условная точка останова» с определенным условием.

Если вы хотите отследить значения какой-либо переменной, нажмите знак «плюс» чтобы добавить новую переменную и введите имя этой переменной.

Если вы хотите изучить переменные, перейдите на вкладку переменных и исследуйте их!

Резюме файла DEBUG

Эти файлы DEBUG можно просматривать с помощью три существующего (-их) прикладных (-ого) программных (-ого) средств (-а), как правило, Atom, разработанного GitHub, Inc.. Оно связано с один основным (-и) типом (-ами) файла (-ов), но часто встречается в формате Unknown Apple II File. (found On Golden Orchard Apple II CD Rom). В большинстве случаев эти файлы относятся к Data Files.

Расширение файла DEBUG поддерживается Windows, Mac и Linux. Данные типы файлов можно найти в основном на настольных компьютерах и некоторых мобильных устройствах. Рейтинг популярности данных файлов составляет «Низкий», что означает, что они не очень распространены.

Устранение неполадок при открытии файлов DEBUG

Общие проблемы с открытием файлов DEBUG

Atom не установлен

Дважды щелкнув по файлу DEBUG вы можете увидеть системное диалоговое окно, в котором сообщается «Не удается открыть этот тип файла». В этом случае обычно это связано с тем, что на вашем компьютере не установлено Atom для %%os%%. Так как ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его дважды щелкнув на него.

Совет: Если вам извстна другая программа, которая может открыть файл DEBUG, вы можете попробовать открыть данный файл, выбрав это приложение из списка возможных программ.

Установлена неправильная версия Atom

В некоторых случаях у вас может быть более новая (или более старая) версия файла Unknown Apple II File. (found On Golden Orchard Apple II CD Rom), не поддерживаемая установленной версией приложения. При отсутствии правильной версии ПО Atom (или любой из других программ, перечисленных выше), может потребоваться загрузить другую версию ПО или одного из других прикладных программных средств, перечисленных выше. Такая проблема чаще всего возникает при работе в более старой версии прикладного программного средства с файлом, созданным в более новой версии, который старая версия не может распознать.

Совет: Иногда вы можете получить общее представление о версии файла DEBUG, щелкнув правой кнопкой мыши на файл, а затем выбрав «Свойства» (Windows) или «Получить информацию» (Mac OSX).

Резюме: В любом случае, большинство проблем, возникающих во время открытия файлов DEBUG, связаны с отсутствием на вашем компьютере установленного правильного прикладного программного средства.

Даже если на вашем компьютере уже установлено Atom или другое программное обеспечение, связанное с DEBUG, вы все равно можете столкнуться с проблемами во время открытия файлов Unknown Apple II File. (found On Golden Orchard Apple II CD Rom). Если проблемы открытия файлов DEBUG до сих пор не устранены, возможно, причина кроется в других проблемах, не позволяющих открыть эти файлы. Такие проблемы включают (представлены в порядке от наиболее до наименее распространенных):

Причины ошибок в файле DEBUG.EXE

Проблемы DEBUG.EXE могут быть отнесены к поврежденным или отсутствующим файлам, содержащим ошибки записям реестра, связанным с DEBUG.EXE, или к вирусам / вредоносному ПО.

Более конкретно, данные ошибки DEBUG.EXE могут быть вызваны следующими причинами:

  • Поврежденные ключи реестра Windows, связанные с DEBUG.EXE / Windows.
  • Вирус или вредоносное ПО, которые повредили файл DEBUG.EXE или связанные с Windows программные файлы.
  • Другая программа злонамеренно или по ошибке удалила файлы, связанные с DEBUG.EXE.
  • Другая программа находится в конфликте с Windows и его общими файлами ссылок.
  • Поврежденная загрузка или неполная установка программного обеспечения Windows.

Практическое Применение WP DEBUG

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

WP_DEBUG

WP_DEBUG находится в файле wp-config.php и по умолчанию имеет значение “false”. Если вы хотите включить его, вы должны изменить его на “true”. Для этого вам понадобится FTP-клиент, например FileZilla или файловый менеджер, для доступа к файлу.

В нашем примере мы будем использовать файловый менеджер Hostinger.

  1. Найдите файл wp-config.php в корневой папке вашего сайта. В нашем примере он находится в hostinger-dev-9.xyz/public_html/wp-config.php.
  2. Откройте его и найдите
    define( 'WP_DEBUG', false )
  3. Найдя, измените значение “false” на  “true”. Затем сохраните файл.

Если в вашем файле wp-config.php такого кода нет, вы можете добавить его над строкой /* That’s all, stop editing! Happy blogging. */.

Имейте в виду, что отладка не должна быть включена на живом сайте, потому что этот режим предназначен только для разработки.

WP_DEBUG_LOG

Включив WP_DEBUG_LOG, пользователи могут сохранять все ошибки в файле debug.log. Эта функция работает вместе с WP_DEBUG и помогает воспроизвести проблемы для устранения неполадок.

Чтобы включить её, откройте файл wp-config.php и введите следующую строку под строкой define( ‘WP_DEBUG’, true );

define('WP_DEBUG_LOG', true);

После активации функции файл debug.log будет автоматически сохранен в папке /wp-content/ вашего сайта. Вы можете просмотреть файл непосредственно в браузере.

WP_DEBUG_DISPLAY

Вам следует отключить WP_DEBUG_DISPLAY, чтобы сообщения об ошибках не отображались на вашем сайте.

Каждый раз, когда возникает ошибка, она будет сгенерирована и показана внутри вашего HTML-кода, поскольку в отличие от WP_DEBUG, исходное значение WP_DEBUG_DISPLAY — “true”. Измените его на “false”, чтобы скрыть все ошибки.

В случае, если вы не можете найти необходимую строку, вставьте эту строку в файл wp-config.php сразу под строкой define(‘WP_DEBUG’, true);.

define('WP_DEBUG_DISPLAY', false);

Все эти функции: WP_DEBUG, WP_DEBUG_LOG и WP_DEBUG_DISPLAY можно использовать одновременно, чтобы включить отладку, сохранять файл журнала и скрыть все ошибки.

Выбор точки остановки — set breakpoint

Практически все современные Android приложения используют Kotlin и RxJava. И при типичном использовании этой связки языка и библиотеки при добавлении точки остановки иногда появляется такой выбор:

Android Studio предлагает нам выбрать где именно мы хотим добавить точку остановки — момент выполнения метода subscribe в Rx-цепочке или выполнение кода внутри лямбды, которую мы передаем в subscribe. А можно поставить точку остановки сразу для двух действий (All).

Примечание для новичков: Если вы хотите отладить действие, которое вы планируете выполнить внутри метода subscribe, и не поняли в примере выше где именно вам поставить точку остановки — вам нужно поставить ее внутри лямбда выражения.

Просмотр информации во время отладки приложения

Остановка выполнения приложения при достижении breakpoint-a. Синим цветом Android Studio подсвечивает на какой именно точке выполнение программы было остановлено.

Часть первая, основы

Artem ShevchenkoFollow

Dec 3, 2018 · 8 min read

Что такое отладка?

Я уверен что 95% читателей этой публикации прекрасно знают что такое отладка приложения, и, говоря по простонародному, уже не раз дебажили свои приложения в поисках ошибки или проверки работы своей программы.

И все же краткое вступление с теорией будет. Поэтому если вы знаете что такое отладка, то пропустите этот раздел и листайте вниз, или сразу перейдите к второй части.

Отладка или debugging приложения — это процесс поиска и исправление ошибок или неправильного поведения кода.

Например: при получении ответа с сервера и его обработке внутри вашего приложения происходит непонятная ошибка и на экране выводится устаревшая информация вместо новой. Чтоб разобраться что происходит и найти ошибку мы можем при помощи отладки поставить выполнение программы на паузу в нужном нам месте и посмотреть содержимое наших объектов и переменных.

Именно для этого и нужна отладка: приостанавливать выполнение кода в нужном месте и изучении состояния приложения.

Основы отладки

В этой статье я расскажу базовые вещи и возможности отладчика в Android Studio. В следующей статье я постараюсь рассказать о некоторых тонкостях и продвинутых возможностях работы с отладкой.

Вывод

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

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

Моя рекомендация — потратить некоторое время на изучение отладки как в браузере Google Chrome, так и в редакторе Visual Studio Code и посмотреть, что вам больше нравится. Если у вас есть какие-либо вопросы или комментарии, найдите меня в Twitter.

Дополнительные ресурсы

  • Отладка в браузере Chrome
  • Подробное руководство по отладке кода на JavaScript в Chrome Devtools
  • Отладка в VS Code и Chrome

Итоги

Понимание того, как работает WP_DEBUG, даёт много важных преимуществ как для владельцев сайтов WordPress, так и для разработчиков. Используйте дебаг в процессе разработки сайта, чтобы включить режим отладки, сохранить или скрыть все ошибки. К тому же это очень просто.

Вот краткое изложение всех шагов, которые нужно сделать, чтобы использовать WP_DEBUG, WP_DEBUG_LOG и WP_DEBUG_DISPLAY:

  • WP_DEBUG — найдите файл wp-config.php, и измените значение “false” в строке define( ‘WP_DEBUG’, false ); на “true”.
  • WP_DEBUG_LOG — добавьте строку define(‘WP_DEBUG_LOG’, true); под define(‘WP_DEBUG’, true);.
  • WP_DEBUG_DISPLAY — введите define(‘WP_DEBUG_DISPLAY’, false); под строкой define(‘WP_DEBUG’, true);.

С этим читают