Как стать автором
Обновить

Комментарии 25

Первая мысль — где-то я уже это видел. И ведь действительно видел — вот здесь.
Это статья моего друга, т.к. у него нет возможности опубликовать ее тут, он попросил меня
На CocoaDev много подобных полезных сниппетов
Полезно, я знал что EXC_BAD_ACCESS это обращение к не существующей переменной, но как его быстро…
Спасибо!
Спасибо, полезная статья.
Умилило предложение: «К счастью, ребята из Apple приложили все усилия, чтобы нам помочь»…
2 года занимаюсь разработкой для iPhone'а и не видел более ужасного и не информативного дебаггера (по крайней мере без танцов с бубном и вписывания каких-то хитрых параметров), чем тот, что в XCode. Ад.
мне казалось, что там GDB
А я и не говорил, что там какой-то свой дебаггер, я лишь написал «тот, что используется в XCode».
дебаггер там самый привычный – gdb. А вот оболочка по сравнению в дебаггером в VS для .Net конечно сосет
Уже 2 года пишу под ифоны. Проблем с дебагом не возникало…
Разве что в случаях когда я юзаю помесь c++ и Objective-c — то чтобы gdb понял с каким языком я работаю — приходится писать в консоли чтонибудь типа: set language c++
А вообще среда разработки XCode tools — это лучшее что я видел (тем более что еще и без дополнительных затрат, кроме покупки мака).
Ну, виртуальные машины никто не отменял ;)
Спасибо!

Для меня (балуюсь на java для Android в качестве хобби) это как сказка про Бармалея: такие светлые статьи лишний раз напоминают насколько всё лушче в современных языках программирования и средах исполнения.

Статья вызвала во мне новый виток любви к JVM, Андроиду, open-souce, JetBrains и вообще к человечеству!
А какие языки вы считаете несовременными?
такие, где подобные проблемы не возникают в принципе, by deisgn.
ну и чтоб поддержка ide была.

> К счастью, ребята из Apple приложили все усилия, чтобы нам помочь.

Хочешь сделать человека счастливым? Сделай ему плохо, а потом верни назад. Таково отношение эппла к программистам.
Спасибо!
Обновите пост — сэкономте время людям.
и еще вот доп. инфо:
установка MallocStackLoggingNoCompact приводит к тому что дебагер для устройств с 3.1.3 прошивкой не запускается. Выдает «mi_cmd_stack_list_frames not enough frames» при запуске.
Убираем этот флаг — и все сразу запускается.
Для 4.2 устройства такой проблемы этот флаг не вызывает.

Ваш пост первый по запросу NSZombie в рунете — добавте инфо в пост — сэкономте людям время.
Спасибо, полезная информация.
К сожалению, это не всегда помогает. Если работать напрямую с С-style указателями, malloc/free, то зомби не дают никакой выгоды. Правда, есть еще несколько флагов:

MallocBadFreeAbort
MallocScribble
MallocStackLogging

(использовать их нужно также)

Что кто делает — можно попробовать догадаться по названию. Ну, и, по опыту ковыряния с Runtime, действительно помогают.
Большое спасибо — очень помогло
EXC_BAD_ACCESS в общем случае возникает при попытке доступа к области памяти, куда у тебя доступа быть не должно. Уже освобожденный объект — лишь частный случай.

Вчера тут пытался логировать прием информации с сервера

NSData *data =…
NSLog(@«data received, length now is: %@», data.length);

Полдня отлаживался. Опытные товарищи уже знают, в чем тут ошибка :-)
И да, зомби тут не поможет. Приложение просто дропается и всё :-)
В чём же ошибка?
1) Немного странно NSUInteger выводить через %@
2) Наверное, не плохо бы проверить на !data
?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории