Рубрика «отладка» - 41

Наверняка каждый разработчик модулей для Magento попадал в ситуацию, когда вроде бы все сделано правильно, но не работает. Особенно это касается характерных ситуаций: создал роутер, а выдает 404 старницу, создал лэйaут, а контент не выводится, создал темплейт, а страница по прежнему пуста. Отличительной чертой таких ситуация является то, что как правило Magento никак на них не реагирует (не выдается ошибок, логи остаются пустыми). Именно об отладке таких ошибок и пойдет речь в данной статье.

Вдоволь намучавшись с подобными ситуациями, я собрал небольшую коллекцию советов по разработке и методов отладки модулей, которые позволяют быстро справляться с подобными неприятностями. Особенно полезны они будут новичкам, но и опытные разработчики могут найти для себя что-то новое.
Читать полностью »

О чем эта статья

Это продолжения моей вчерашней статьи об отладке приложений для Adnroid без исходного кода на Java (если кто-то её не читал — я очень советую начать с неё). Вчера я давал пошаговую инструкцию как настроить и начать использовать связку Apk-tool плюс NetBeans. Два последних пункта там звучали примерно так:

13. Установите breakpoint на интересующую вас инструкцию… blah-blah-blah...

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

Дальше, в разделе «Подводные камни», я рассказывал почему мы не может начать отладку приложения с самого начала, например поставив breakpoint на какую-нибудь инструкцию метода onCreate(...) в activity, с которой начинает выполняться приложение.

В этой статье я расскажу как всё же можно начать отлаживать приложение без исходного кода на Java с самого начала. Эта статья опять-таки не для новичков. Нужно как минимум понимать синтаксис ассемблера Smali и уметь ручками патчить .smali файлы, грамотно вписывая туда свой код.

Читать полностью »

О чем статья

В этом статье я сжато, без «воды», расскажу как отлаживать приложения для Android не имея их исходного кода на Java. Статья не совсем для новичков. Она пригодиться прежде всего тем кто более или менее понимает синтаксис Smali и имеет некоторый опыт в reversing engineering приложений для Android.

Читать полностью »

Я недавно наткнулся на статью, описывающую простейший грувлет, позволяющий исполнить любой код на Groovy у Вас на сервере. Мне это показалось очень удобным для организации отладочного бэкдора.

Проблема в то, что грувлеты — это всё таки сервер, а у нас есть еще толстый клиент на Swing. Для него мне хотелось бы сделать нечто похожее, но встраивание какого нибудь embedded Jetty или Tomcat только для этого в клиент выглядело как то слишком.

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

Иногда возникают ситуации, когда стандартных средств отладки недостаточно.

Например, в iOS 4.1 была возможность использовать valgrind в симуляторе. А в Lion x86_64 и iOS 5 valgrind работать уже перестал.
Это связано с 64-битной архитектурой и изменениями в симуляторе (в valgrind есть ряд
недоработок).

С переходом на ARC метод отладки retain исчез:

- (id) retain
{
// Break here to see who is retaining me.
return [super retain];
}

Читать полностью »

Реверс инжинирим игру Hogs of War, часть 1

Мотивация

В связи с испорченным местными властями отпуском приходится занимать свое время чем-нибудь интересным. Например, подлечить старую игрушку, косяки которой не позволяют нормально поиграть на современных ОС, либо поменять несколько байтов для получения разных extra-возможностей just for fun. Подопытным будет игра из далекого 2000 года под названием Hogs of War. Если кто не знает, то это turn-based стратегия, где вам дается команда хрюшек, с помощью которых вы должны ни много ни мало, завоевать мир. В процессе игры в зависимости от результатов можно модифицировать каждую хрюшку, например повысив её в звании. В 2009 Atari объявила о продолжении игры в виде разработки HOW2, но по последним данным проект свернули из-за недостатка финансирования. Ничего приятного.

Цель этой части: исправление бага, при котором блокируется весь рабочий стол, если произошел appcrash по какой-либо причине и подготовка приложения для работы в экранном режиме для упрощения отладки.
Читать полностью »

в 9:48, , рубрики: debugger, perl, отладка, метки: , ,

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

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

  • Проверьте ваш синтаксис с помощью ключа -c: perl -c yourprog
  • Используйте use strict, который предотвратит многие ошибки, связанные с названиями переменных и их объявлением.
  • Включайте предупреждения с помощью ключа -w (если вы хотите получать все предупреждения, то можете использовать ключ -W).
  • Более расширенную информацию о неполадках можно получить используя use diagnostics (или -Mdiagnostics из коммандной строки) все сообщения генерируются с помощью perldiag (man).
  • Проверьте вашу программу в режим Taint. При запуске вашей программы с данным ключом -T (легкий вариант -t), каждая переменная вне вашей программы считается инфицированной (tained) и отказывается запускать внешние команды из незнакомых мест.
  • Программа splain. Действует как и use diagnostics, принимает предупреждающие сообщения и преобразует их в детализированные сообщения, но с тем преимуществом, что ничего не включается постоянно в ваш код (perl -w your.pl | splain ).

Теперь непосредственно перейдем к возможностям, которые предоставляет Perl Debugger.
Читать полностью »

Введение

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

Однажды передо мною встала задача отловить непонятное падение в моем приложении. Насколько я знал тогда, Android NDK предоставлял возможность отлаживать C++ код, однако я смутно представлял себе, как это сделать. К сожалению, толковой информации по отладке нативного кода было очень мало. Потратив на это дело несколько вечеров, я все-таки разобрался и наладил отладку. Сейчас я расскажу о том, как это можно сделать и расскажу о том, какие грабли могут ожидать вас, если вы задумаете повторить мой путь.

Читать полностью »

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

Данная статья не претендует на оригинальность. Вполне возможно, что что-то подобное уже было написано ранее кем-то другим. Единственной целью при ее написании было желание автора поделиться своим опытом в отладке JavaScript. Автор уважает мнения других хабрапользователей и никому не навязывает свою точку зрения.

Проблема кроссбраузерности в отладке уже неоднократно рассматривалась на Хабре (1, 2, 3 и др.). Но к сожалению, во всех статьях, ранее освещавших этот вопрос, применялся один и тот же подход к его решению: использование инструментов отладки, специфичных для каждого браузера. Конечно, никто еще не отменял console.log — простой, и в некотором смысле кроссбраузерный, инструмент, хорошо помогающий в отладке. Но его применение опять-таки ограничено наличием в браузере средств отладки. Особенно это касается мобильных устройств, в которых получить доступ к средствам отладки не так просто, а иногда и вовсе невозможно.Читать полностью »

Некоторое время назад Министерство Юстиции обновило свой сайт, выложив в сеть новую версию своего интернет-представительства, построенную на Drupal:

Министерство Юстиции

Теперь официальный сайт Министерства юстиции Российской федерации работает полностью на базе свободного программного обеспечения.
Цитата с сайта

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js