Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Приезжай в Харьков и отожги вместе с нами на Ciklum Mobile Субботнике и iPhoneDevCamp 2012

Блог компании Ciklum
Вы не поверите, но начало 2012 года началось для нас жаркой зимой! Все дело в том, что мы, в Сиклум, ежемесячно проводим около 60(!) как внутренних, так и внешних мероприятий для разработчиков, таких как тематические Сиклум Субботники, Хакатоны, кемпы и т.д.

Обмен опытом и знаниями, живые дискуссии и неформальное общение — вот цель таких мероприятий, на которые, кстати говоря, может прийти любой разработчик. И представьте себе, такой формат мероприятий пришелся по душе многим в разных городах в Украине! Например, недавно мы провели самый первый .NET Субботник в Виннице, а также очередной .NET Субботник в Харькове, поддержали DOU STARTUP MIXER и Drupal Cafe в Киеве.

11 февраля 2012 в рамках Мобильного Сиклум Субботника пройдет и iPhoneDevCamp 2012, который все так долго ждали! Таким образом, суббота в нашем харьковском офисе будет очень насыщенной. По нашей замечательной традиции, мы открыты к тем, кто хочет выступить. Так, на Мобильный Сиклум Субботник мы пригласили зубров мобильной разработки, отчаянных борцов за чистоту кода и ярых яблочников.

Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Просмотры1.4K
Комментарии 5

Гейб Ньюэлл: будущее игр — за Linux

Разработка игр
В прошлом году Гейб Ньюэлл, руководитель компании Valve сделал ставку на Linux как игровую платформу. Вскоре компания начала воплощать в жизнь новую стратегию: вышел Steam под Linux, а с ним все части Half-Life 2, Left 4 Dead 2, Portal и многие другие игры. Разработчики Valve объяснили, почему Linux с технической точки зрения — более предпочтительная платформа для игр, чем Windows 8.



Вчера Гейб Ньюэлл выступил на конференции LinuxCon, подвёл итоги года и прямо заявил: будущее игр — за Linux, несмотря на скромную долю этой ОС в настоящее время.
Читать дальше →
Всего голосов 161: ↑143 и ↓18+125
Просмотры97K
Комментарии 393

Отключение ASLR при отладке third-party приложения под iOS

ОтладкаРеверс-инжиниринг
В этой статье дается простая короткая инструкция как пропатчить third-party приложение под iOS что бы отключить ASLR при отладке. Предполагается что у читателя в наличии:

  1. iOS 7.0-7.0.4 устройство с evasi0n jailbreak и компьютер с Mac OS X 10.9.4, установленным XCode 5.1.1 и МаchOView 2.4 (скорее всего для других версий тоже будет работать, но я не пробовал)
  2. некоторый опыт в отладке third-party приложения для iOS, ну и желательно знать что такое ASLR и понимать зачем его отключать

Что ж, приступим.
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Просмотры3.8K
Комментарии 4

iOs Debug Master

Разработка под iOSObjective CОтладкаXcodeSwift
Однажды я почти полностью отказался от мышки для навигации по Xcode и вполне этому рад. Следующий шаг — это отказ от визуальных средств управления отладчиком. Зачем? — Увеличиваем возможности, уменьшаем время дебага, тратим меньше калорий для перемещения тяжеленькой ручишки (нам калории нужны, чтобы головой работать) и тем самым провоцируем меньше туннельного синдрома.


Читать дальше →
Всего голосов 19: ↑16 и ↓3+13
Просмотры18K
Комментарии 13

Xcode и продвинутая отладка в LLDB: Часть 1

Разработка под iOSРазработка мобильных приложенийОтладка
Перевод
Tutorial
Добрый день, сегодня предлагаю вам ознакомиться с переводом статьи об отладке iOS приложений при помощи LLDB.

Одна из самых интригующих частей презентации WWDC 2018, Xcode и продвинутая отладка в LLDB была представлена инженерами Apple. Они дали несколько полезных советов о том, как использовать точки остановки (breakpoints) в Xcode и низкоуровневый дебаггер (LLDB) для оптимизации процесса отладки багов, где бы разработчик их не поймал.

Статья состоит из трех частей, мы пройдемся по основным тезисам, что были сказаны на WWDC. Я создал демо проект специально для того, чтобы тщательнее разобраться как использовать различные типы точек остановки (breakpoints) совместно с LLDB для поимки и отладки багов в вашем приложении.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Просмотры8.3K
Комментарии 0

Продвинутый Debug

Тестирование IT-системSwift
Из песочницы
Debug Area — полезная функция в работе iOS разработчика в Xcode. Как только мы начинаем осваивать разработку под iOS, и пытаемся отойти от привычного и любимого print метода, и найти более быстрые и удобные методы понимания состояния системы в определенный период мы начинаем изучать область дебага (Debug Area).

Скорее всего, в Debug панель ваш взгляд упадёт до того, как вы будете понимать, что именно там происходит. При первом падении приложения нижнее меню открывается автоматически, оно изначально может послужить помощью для понимания проблемы (Вспомним старую добрую “Fatal error: Index out of range”), в основном в самом начале вы не будете понимать, что от нас хочет Xcode и приметесь гуглить ошибки, но по ходу роста всё больше и больше информации станет понятной.

С самого начала программист старается оптимизировать свою работу. Для этого мы стремимся понять в какой момент наша программа перешла в некорректное состояние. И тут в зависимости от точки в которой находится эволюция программиста, методы могут разниться. Сначала как правильно Debug осуществляется методом “print()”, потом идёт расстановка Breakpoints и вызов методов “po”, далее ознакомление с Debug Variable Input (области рядом с консолью в Xcode), а далее приходит понимание и способов компиляции кода в процессе остановки на Breakpoint методов — “expression” (По крайней мере, такая была эволюция у меня).

Давайте попробуем разные способы которые нам помогут понять и изменить состояние нашего приложения. Самые простые вроде “print()”, и “po” рассматривать не будем, я думаю, вы и так понимаете их суть и умеете применять.

Создадим простое приложение с одним экраном в котором будем всего один тип ячеек (TableViewcell) c двумя элементами внутри: UIImageView и UILabel. В ячейках будем писать её порядковый номер, а в картинку ставить либо image1, либо image2.

Метод tableViewCellForRowAtIndexPath будет создавать для нас ячейки, проставлять данные и возвращать:

image
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Просмотры6.8K
Комментарии 3

Как мы ускоряли работу отладчика Swift

Блог компании ЯндексOpen sourceРазработка под iOSРазработка мобильных приложенийSwift

Привет! Меня зовут Александр Скворцов, я работаю в команде Яндекс.Браузера для iOS. Это очень большой проект, который насчитывает около тысячи clang-модулей и примерно 600 Swift-модулей. Наверное, из-за таких масштабов мы чаще других наталкиваемся на проблемы инструментов разработки, например, находим критические ошибки в компиляторе, неработающую подсветку и автодополнение. Это бывает неприятно, но жить можно. 

Самая серьёзная проблема возникла с отладкой. В худшем случае с момента запуска до остановки в отладчике на точке входа в приложение проходило больше 20 минут. И это на свежем MacBook Pro 16! С таким «быстродействием» инструментов разработки невозможно эффективно развивать проект, поэтому мы решили разобраться в причинах и поискать возможные решения.

В результате получилось не только снять остроту проблемы у себя, но и внести правки в код отладчика Swift — со временем описанные в статье неприятности перестанут беспокоить всех пользователей Xcode. А теперь расскажу подробнее, как это было.

Читать далее
Всего голосов 50: ↑49 и ↓1+48
Просмотры6.6K
Комментарии 13

Обратная отладка в большом масштабе

Блог компании SkillFactoryOpen sourceПрограммированиеОтладкаРеверс-инжиниринг
Перевод

Отладка — неотъемлемая часть профессионального программирования. К старту курса о Fullstack-разработке на Python делимся переводом о том, как отладка устроена в Facebook; в статье вы найдёте ссылку на разработанный FB плагин трассировки для LLDB, который преобразует необработанную трассировку в удобочитаемый формат.

Допустим, вы получаете уведомление по электронной почте о том, что сервис терпит крах сразу после развёртывания вашего последнего изменения кода. Сбой происходит только на 0,1 % серверов, где запущен сервис. Но вы работаете в крупной компании, поэтому 0,1 % равняется тысячам серверов, и эту проблему будет трудно воспроизвести. Несколько часов спустя вы всё ещё не можете воспроизвести проблему, хотя потратили целый день на её решение.

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Просмотры1.4K
Комментарии 0