Перевод статьи «Top Remote Debugging Tools in 2020».
В том, что касается отладки, используемые инструменты играют очень важную роль. Они могут определить, насколько легко вы справитесь с решением проблемы в вашем коде.
Раньше процесс отладки был довольно непростым занятием. Не имея надежных отладчиков, разработчики прибегали к разным ухищрениям.
Например, при отладке мобильного приложения или сайта вы могли воспроизвести проблему на своем компьютере, а затем использовать инструменты разработчика Chrome (или подобные им).
К сожалению, эти хаки были малоэффективными: вам приходилось постоянно переключаться с десктопа на мобильное устройство и обратно.
К счастью, сегодня у нас уже есть хороший набор инструментов, позволяющий искать ошибки в программах, запущенных на разных устройствах, так же эффективно, как если бы они были запущены на нашей локальной машине. И что лучше всего, эти инструменты для дистанционной отладки предназначены не только для дебаггинга: они также помогают в командной разработке программ.
В этой статье мы собрали лучшие инструменты, которые вы можете смело использовать для дистанционной отладки кода.
Rookout
Rookout — это инновационный инструмент, добавляющий гибкости процессу дебаггинга. Его можно использовать для отладки JVM-, Node.JS- и Python-кода как в бессерверных, так и в контейнеризованных приложениях.
Красота Rookout в том, что он позволяет быстро и безопасно проводить отладку как в стейджинге, так и в продакшене. С этим инструментом отладка перестает быть длительным и сложным занятием, поскольку он предоставляет разработчику все необходимые данные за считанные секунды.
Эти данные позволяют разработчикам разобраться в возникших проблемах и исправить их, не прибегая к написанию кода, повторному развертыванию или перезапуску приложения.
При помощи Rookout можно проводить удаленный дебаггинг приложений, созданных на Electron. Интерфейс этого инструмента отладки позволяет разработчикам устанавливать в проблемных приложениях брейкпоинты, на которых выполнение приложений не будет останавливаться.
Также этот инструмент дает вам полное представление о производительности вашего приложения, что позволяет отслеживать проблемы и вносить соответствующие исправления.
Достоинства
- Легкий старт.
- Беспроблемная Git-интеграция.
- Интеграция с другими инструментами, включая Slack, Datadog, Sentry, Sumologic и др.
- Возможность отслеживать взаимодействия и делиться экраном.
Visual Studio Code
Visual Studio Code это всегда удачный выбор для каждого разработчика, работающего с .NET. В нем большое количество функционала, облегчающего как локальную, так и дистанционную отладку. С помощью этого инструмента вы сможете устанавливать условные брейкпоинты и логпоинты. Также Visual Studio Code дает возможность проверять переменные.
Для удаленного дебаггинга вам понадобится установить пакет расширений. В нем содержатся три расширения, предоставляющие весь необходимый функционал для запуска, мониторинга и ускорения цикла удаленной отладки.
Достоинства
- Можно использовать бесплатно.
- Кроссплатформенность.
- Очень активное сообщество, за которым стоит Microsoft.
- Интеграция Git.
- Поддержка широкого спектра расширений, большие возможности для кастомизации.
- Прекрасная автоматическая проверка ошибок.
RubyMine
RubyMine — это мощная и умная кроссплатформенная IDE, созданная компанией JetBrains. Она позволяет отлаживать код, написанный с помощью Ruby on Rails, CoffeeScript, JavaScript, CSS, ERB, HAML и пр. Благодаря встроенному отладчику с продвинутым функционалом вы сможете легко устанавливать брейкпоинты и определять условия.
В RubyMine можно осуществлять отладку приложений на удаленных устройствах двумя способами. Во-первых, можно добавить удаленный интерпретатор Ruby и определить соответствие между локальными и удаленными файлами проекта, а затем запустить сессию дебаггинга.
Или же можно запустить приложение на удаленном устройстве, а затем добавить интерпретатор Ruby. После этого следует заняться определением соответствия между файлами и привязкой к запущенному процессу.
Второй вариант особенно полезен при отладке приложения, которое вы не можете запустить непосредственно из вашей IDE.
Еще одна примечательная особенность отладчика в RubyMine — возможность запускать несколько процессов отладки одновременно.
Достоинства
- В основе RubyMine лежит надежная платформа IntelliJ IDEA.
- Хорошая поддержка связанных с Ruby фреймворков и технологий.
- Довольно хороша функция автодополнения.
- Хорошая интеграция с Git.
- Поддержка многочисленных плагинов.
- Гладкая интеграция с Rails.
PyCharm
PyCharm — это еще одна надежная IDE, разработанная той же JetBrains, только уже для Python. Этот умный редактор кода оснащен и функционалом для удаленной отладки. С его помощью вы можете запускать, тестировать, отлаживать и разворачивать приложения на виртуальных машинах и удаленных хостах.
К отличительным особенностям PyCharm можно отнести продуманное автодополнение, прекрасную поддержку рефакторинга и беспроблемную интеграцию с такими инструментами как Django, IPython, Docker, Vagrant и Pytest.
Кроме того, PyCharm это потрясающий инструмент для кроссплатформенной разработки. Помимо Python, эта IDE поддерживает JavaScript, Cython, CoffeeScript, TypeScript SQL, HTML/CSS, Node.js, AngularJS.
Достоинства
- Прекрасно реализованная возможность подключения нескольких баз данных для запросов внутри IDE.
- Легкий поиск и установка пакетов.
- Автоматическое дополнение кода.
- Визуализация Git.
- Показывает ошибки в коде «на лету» и облегчает их исправление.
Отладчик GDB
Для отладки приложений на другой машине может эффективно использоваться GDB (отладчик проекта GNU). Вам нужно будет запустить на хосте утилиту GDB, а на машине, где нужно производить отладку, — gdbserver. Они будут коммуницировать друг с другом по сети с использованием специального протокола.
Ест два варианта удаленной отладки при помощи GDB/gdbserver. Первый предполагает использование удаленного GDB-сервера для автоматической сборки и загрузки кода приложения на удаленную машину. Второй вариант — использовать GDB там, где у вас будут исполняемые файлы.
Достоинства
- Простота использования.
- Кроссплатформенность и поддержка большого количества языков.
- Эффективность при анализе дампа памяти.
Eclipse
Eclipse — это широко известная IDE для разработки на Java. Также поддерживает Python, Ruby, C# и PHP. Eclipse IDE оснащена продвинутым функционалом для разработки и отладки, что делает ее универсальным инструментом.
Одной из наиболее впечатляющих особенностей Eclipse является перспектива отладки (в Eclipse «перспектива» — особая конфигурация платформы). В ней разработчик может просматривать информацию о брейкпоинтах, переменных, стеках вызова и потоках.
Используя Eclipse, вы можете шаг за шагом исследовать выполнение программы, приостанавливать и возобновлять потоки, оценивать выражения и проверять значения. Конфигурация удаленной отладки в Eclipse довольно простая и понятная, что добавляет этому инструменту популярности среди разработчиков.
Достоинства
- Автоматическое дополнение кода.
- Хорошая поддержка рефакторинга.
- Отличная навигация.
- Помощь в проверке синтаксиса для написания чистого и эффективного кода.
- Интеграция Git.
Отладчик Zend Studio
Zend Studio — это профессиональная IDE, поддерживающая редактирование, тестирование и отладку PHP-кода.
Zend Studio тесно интегрирована с Zend Server, благодаря чему создается удобная система, облегчающая анализ проблем, обнаруженных в стейджинге или продакшене.
Также Zend предоставляет расширение для отладки PHP-скриптов, которое пользователи могут установить на веб-серверах. Использовать Zend для отладки относительно просто: вам нужно лишь открыть исходный код, установить брейкпоинты в проекте и запустить сессию дебаггинга.
Удаленная отладка в Zend может осуществляться тремя способами. Можно использовать функции Debug URL или Debug as Web Page в Zend Studio. Или же можно использовать панель инструментов Zend в браузере Firefox или Chrome.
Достоинства
- Возможность просеивать файлы проекта при помощи всего нескольких нажатий клавиш.
- Высокая эффективность и скорость работы.
- Поддержка обширного сообщества.
- Отлично подходит для создания и отладки PHP-приложений.
- Исключительная гибкость.
WinPdb
WinPdb — это прекрасный отладчик для Python, хорошо работающий в системах Windows, Mac OS и Linux. Совместим с и Python 2.x, и с Python 3.x.
Этот инструмент отладки поддерживает «умные» брейкпоинты, модификацию пространства имен, множественные потоки, встроенную отладку и шифрованную коммуникацию. Для удаленного дебаггинга вам нужно будет скопировать rpdb2.py (отладчик Winpdb с интерфейсом командной строки) на удаленную машину. Подробнее о процессе отладки с применением WinPdb можно прочесть здесь.
Достоинства
- Поддержка многопоточной отладки.
- Шифрованная коммуникация для удаленного дебаггинга.
- Легкий в использовании GUI с брейкпоинтами, проверкой стека и переменных.
Использование инструментов, о которых мы рассказали в этой статье, способно значительно улучить ваш опыт отладки приложений. Удачного кодинга!
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]