Как стать автором
Поиск
Написать публикацию
Обновить
24.7

Отладка *

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

Сначала показывать
Период
Уровень сложности

Как использовать облачную ферму устройств Huawei для тестирования и отладки в Android Studio

Время на прочтение2 мин
Количество просмотров8K

Как ни странно, мало кто знает о том, что у Huawei есть ферма устройств в облаке, которую можно использовать для отладки и тестирования. И речь идет не об отладке через веб-интерфейс, что является более-менее известной фичёй консоли разработчика Huawei и нередко используется разработчиками. Мы же поговорим об отладке непосредственно из студии, с возможностью пользоваться ADB.

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

Следующим шагом открываем студию и устанавливаем плагин HMS Toolkit из магазин плагинов в самой студии (File -> Settings -> Plugins).

Читать далее

История одной ошибки

Время на прочтение3 мин
Количество просмотров5.9K


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

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

В продолжение серии статей про различные полезности для STM32 (1, 2 и 3), хочу рассказать, как в некоторых случаях, такое упрощение работы может стать источником совершенно не очевидных ошибок.
Читать дальше →

Настройка Xdebug3 для Laravel-приложения в Docker

Время на прочтение4 мин
Количество просмотров18K

Настройка локального отладчика Xdebug в IDE PhpStorm для Laravel-приложения в Docker.

Читать далее

pprof в golang: Исправляем утечку памяти

Время на прочтение6 мин
Количество просмотров15K

После весеннего "локдауна" (тогда у меня внезапно появилось время и xswitcher расписать и статью выпустить, да ещё и детей учить "на удалёнке"), моё время опять как-то всё быстро закончилось. Только сейчас, перед НГ получилось зачистить кое-какой тех. долг. И опять про golang (хотя я не сильно много на нём пишу).

"Зачистка" неожиданно заняла заметное время. Как оказалось, профилирование на go — не такая уж и разработанная тема. "Среднему" специалисту не так-то и просто найти подходящий материал. По такому случаю, нет повода не поделиться. Кому интересно максимально "прижатое" к задаче изложение (я старался), добро пожаловать под кат.

Читать далее

Дизассемблируем циклы, написанные на Си

Время на прочтение4 мин
Количество просмотров14K

Доброго времени суток.

Сегодня мы будем смотреть дизассемблированный код инструкций if, for, while, swich, которые написаны на языке Си. Воспользуемся radare2.

Дизассемблировать код

А суть-то в чём, или Минимизация исходников — проще, чем кажется

Время на прочтение9 мин
Количество просмотров6K

В эти чудесные январские дни всех нас, конечно, волнует вопрос минимизации исходного кода с сохранением инварианта. В смысле, не волнует?!? Зря… Вот упал у вас компилятор, а программа гигантская — как-то неудобно такое разработчикам слать. И тут начинается веселье: а если вот это выкинуть? О, не падает — ладно, оставляем, а если это? — всё ещё падает, и это, и это, и то… Ой, я компилятор на старых исходниках запускал.


В то же время, автоматизация поиска багов — дело-то житейское: git bisect, llvm-bugpoint, creduce,… В статье я опишу yet another способ решения проблемы упрощения тестового случая, более-менее универсальный по отношению к языку программирования, и покажу некоторые примеры использования.

Читать дальше →

Автоматизация аппаратного тестирования Embedded Систем

Время на прочтение3 мин
Количество просмотров4.8K
Продолжим цикл статей об автоматизации тестирования Embedded систем. В этой статье будет рассказано как можно быстро и относительно просто интегрировать возможность управления питанием тестируемого устройства из тестового скрипта а так же получить возможность имитировать нажатия механических кнопок по команде из тестового скрипта.

Итак, что имеем:

  1. Десятки Embedded устройств в которых нужно проводить тестирование новой версии FirmWare (если быть точнее — ежедневная сборка прошивки)
  2. В виду особенностей процедуры загрузки FW может потребоваться необходимость сбросить питание (т.н. режим загрузки прошивки в режиме Power On Capture)
  3. Хотелось бы в некоторые конкретные моменты времени по ходу выполнения тестового скрипта имитировать нажатия на механические кнопки размещенные на отладочной плате Embededed системы
Читать дальше →

Расширение Visual Studio для визуализации экземпляров пользовательских классов в режиме отладки. Часть 2

Время на прочтение4 мин
Количество просмотров5.5K
Эта статья является продолжением статьи из далекого 2014 года. Напомню, о чем шла речь в прошлой статье.

Какую задачу будем решать


Мы пишем ПО на языке С++, в среде Visual Studio 2015. У нас в проекте, естественно, есть пользовательские типы данных. В качестве примера таких типов могу привести класс MbSolid. Этот класс входит в состав математического ядра C3D и является абстракцией твердого тела. Тело описывается гранями, грани какими-то поверхностями и т.д. Т.е. структура класса довольно сложная, и в процессе отладки собственных алгоритмов хотелось бы визуально прикинуть, какое тело получилось на данный момент.
Читать дальше →

Эмулятор в эмуляторе для проигрывания чиптюн-мелодий на YM2149F

Время на прочтение4 мин
Количество просмотров6.3K

Кто помнит Tetris 2 на Спектруме? Там были куча уровней, возможность играть вдвоём и классная музыка.

Недавно мы сделали 8-битный компьютер для несложных игр, но никаких звуковых возможностей в нём не предусмотрели. И вот захотелось добавить туда какую-нибудь 8-битную музыку. Мне вспомнилась именно мелодия из Tetris 2 (много за ним часов проведено), поэтому я стал с ней ковыряться.

Процессор ATmega328P в нашем компьютере большую часть времени занят отрисовкой изображения, поэтому времени на синтезирование нормальной музыки совсем нет. Значит нам понадобится звуковой процессор YM2149F (он же AY-3-8910), такой же как в ZX Spectrum и других компьютерах.

Тонкости отладки или Как (не)убить полдня с debug'ом

Время на прочтение3 мин
Количество просмотров11K

Вчера потратил полдня в попытках разобраться с причиной появления исключения в PHP-коде, а с утра в голову пришла мысль, что причиной был я сам. Вернее, использование мной отладчика в IDE PhpStorm для трассировки хода выполнения кода.


image


Условия возникновения ситуации — под катом.

Читать дальше →

Обзор uniset2-testsuite — небольшого велосипеда для функционального тестирования. Часть 2

Время на прочтение23 мин
Количество просмотров2.9K


В первой части был обзор возможностей. А в этой части рассмотрим, какие уже реализованы интерфейсы тестирования и как добавить свой…
Читать дальше →

ИТ-риски при процедуре покупки акций

Время на прочтение6 мин
Количество просмотров9.2K


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

Естественно, всё это хорошо автоматизировано уже очень давно, но проблемы случаются. Рассмотрим конкретно ИТ-риски в процессе.
Читать дальше →

IO Ninja – программируемый эмулятор терминала/сниффер (часть 3). Пишем «автоответчик»

Время на прочтение12 мин
Количество просмотров7.1K
jancyПродолжаем цикл статей о терминале/сниффере IO Ninja и переходим к рассмотрению одной из самых выигрышных сторон новой версии нашего продукта – программируемости. Она открывает новые применения такого, казалось бы, заурядного инструмента, как терминал или сниффер.

Обзор архитектуры плагинов


Как и в предыдущей, второй версии продукта, исполнимые файлы третьей версии IO Ninja содержат лишь фреймворк необходимых компонентов (включая UI виджеты, движок для логгирования и классы для работы с IO, такие как io.Socket, io.Serial, io.PCap и т.д.). Логика же работы с конкретными транспортами содержится в плагинах, написанных на языке Jancy. Эти плагины лежат в выделенной папке «scripts» в виде исходных кодов и доступны как для ознакомления, так и для редактирования пользователями.
Читать дальше →

Ближайшие события

Профайлер для PHP приложений от SensioLabs — blackfire.io(SensioLabsProfiler)

Время на прочтение2 мин
Количество просмотров25K

Вчера мне пришло уведомление о том, что открыто beta-тестирование профайлера от SensioLabs - blackfire.io


image

Читать дальше →

Как Хоук упрощает отладку JavaScript с помощью трекера консоли

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.6K

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

Читать далее

Как экономить нервы и время при отладке кода

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.3K

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

Цель этой статьи максимально коротко и понятно посвятить читателей в отладку.

Читать далее

Гарантированный успех: решай любые тесты на 100% с помощью GPT в твоем браузере

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.6K

В современном мире, где обучение становится все более сложным, а тесты — настоящим испытанием для студентов и учеников, а также для начинающих специалистов, которые работают в компаниях, где сильно развито грейдирование, мы постоянно ищем эффективные способы облегчить процесс получения знаний. Специально для вас я разбираю мощный плагин для браузера, который использует возможности GPT для решения тестов на любые темы. Этот не инновационный инструмент, но таких примеров разбора я в интернете не нашёл. В этой статье мы расскажем, как работает этот плагин, какие преимущества он предлагает и как вы можете использовать его, чтобы достигать результатов на 100%. Давайте разберемся, как сделать вашу учебу проще и эффективнее с помощью этой уникальной технологии!

Читать далее

Как добавить кастомный аутентификатор в KeyCloak и подружить его со сторонней системой

Время на прочтение15 мин
Количество просмотров6.3K

Всем привет.

Сегодня мы покажем вам простой пример, как в Keycloak можно добавить кастомный аутентификатор.

Как вы все знаете, Keycloak – это система адаптивной аутентификации, позволяющая реализовать фактические любой процесс аутентификации (ограниченный только навыками разработки на Java) и выступать в качестве Identity Provider для клиентов по протоколам OIDC и SAML.

В стандартном наборе представлено много типовых аутентификаторов. Но что делать, когда стандартных аутентификаторов недостаточно и необходимо реализовать свою логику? Официальная документация дает ответ: разработать аутентификатор самому.

Что мы вместе с нашим системным инженером направления кибербезопасности К2Тех Егором Туркиным в итоге и сделали.

Читать далее

Введение в отладку на примере Firefox DevTools, часть 4 из 4

Время на прочтение3 мин
Количество просмотров7.8K

В заключительной части разберём, как добавить точку останова с условием, использовать console.log, не используя console.log, что делать, если хочется глубже погрузиться в отладку JavaScript, и даже как принять участие в разработке браузера.

Читать про точки останова с условием

Q&A по QA: разбираем вопросы митапа по автоматизации тестирования

Время на прочтение4 мин
Количество просмотров4.4K

Привет, Хабр!

В октябре мы провели онлайн-митап по тестированию, в котором спикеры из Badoo, Skillbox, Почтатех и SuperJob поговорили о своем опыте перехода от ручного тестирования к автоматизации, рассказали о подходах к стабилизации тестов для мобильных приложений и многом другом. Встречу посетили более 600 участников, а QA Lead SuperJob Антон Шкредов получил столько интересных вопросов, что мы решили сделать отдельный пост в блоге. Итогами разбора делимся под катом.

Запись митапа доступна по ссылке, а если смотреть неудобно, то главные тезисы доклада Антона можно почитать на Хабре.

Читать далее