Mac копирование код ошибки 36. Если вы решили использовать APFS заместо HFS

03.04.2019 Мобильный интернет

Привет! В этой статье я постараюсь рассказать о том, как можно облегчить себе жизнь при отладке iPhone- и Mac-приложений. Речь пойдет об отладке исключения EXC_BAD_ACCESS, одного из самых неприятных в природе.

Исключение EXC_BAD_ACCESS возникает, когда мы пытаемся послать сообщение объекту, который уже был освобожден (released). Ситуация обычно осложняется тем, что к тому моменту, когда выскакивает ошибка, стэк вызова уже не содержит информацию, которая могла бы нам помочь. То есть, непонятно, какой конкретно объект был освобожден. И, тем более, непонятно, в каком месте кода он был освобожден:). Еще веселее становится, если приложение многопоточное.

К счастью, ребята из Apple приложили все усилия, чтобы нам помочь. Они создали класс-заглушку NSZombie . Если включить его поддержу (как это сделать - расскажу ниже), то после удаления каждого объекта на его месте (т.е. по его адресу в памяти) будет жить «зомби» и принимать сообщения, что позволит при отладке определить, какой объект был освобожден и устранить ошибку.

Итак, начнем. В один прекрасный день ваше iPhone- или Mac-приложение начало вылетать и в консоли отладчика вы видите следующее сообщение:

Program received signal: “EXC_BAD_ACCESS”.

И, собственно, больше ничего. Стэк вызова, скорее всего, тоже вам ничем не помог.

В окне Groups & Files (слева в xCode ) найдите ветку Executables . Щелкните правой кнопкой на исполняемом файле вашего приложения и в выпадающем меню выберите пункт Get Info . В появившемся окне откройте вкладку Arguments и добавьте две переменные окружения: NSZombieEnabled и MallocStackLoggingNoCompact . Установите NSZombieEnabled значение YES , а MallocStackLoggingNoCompact - 1 . Как это должно выглядеть, показано на скриншоте:

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

2010-01-25 14:35:24.840 MyApplication *** -: message sent to deallocated instance 0x42a5060

Это значит, что когда-то у вас жил объект класса CFString по адресу 0x42a5060 . Он уже был освобожден (released), а ваша программа не унимается и пытается послать ему сообщение retain . Осталось найти этот объект и найти в коде место, где был вызван лишний release . Либо не вызван retain , зависит от конкретной ситуации:)

Вам поможет следущее: в консоли отладчика наберите такую команду:

Shell malloc_history 1393 0x42a5060

Вместо 1393 вам следует вписать свой идентификатор процесса (PID). Его вы можете подсмотреть в консольном сообщении об ошибке сразу после имени приложения. А вместо 0x42a5060 впишите адрес объекта, который был освобожден (тоже можно посмотреть в сообщении об ошибке).

В результате вашим глазам предстанет страшная картина вроде этой:

Не пугайтесь, все не так страшно, как может показаться на первый взгляд. Ближе к низу ищите имена классов и методов, которые присутствуют в вашем коде. То есть, написаны вами. Где-то там и притаился злочастный вызов release . Ищите и исправляйте.

P.S. Краем глаза я где-то прочитал, что можно отлавливать подобные ошибки с помощью Instruments / ObjectAlloc. Был бы очень признателен, если бы кто-то дал мне на водку… Ой, наводку

Корпорация Apple выпускает не только удобные и красивые, но и простые в использовании продукты, многие из которых освоит даже ребёнок. Однако сочетание искусства и технологий, с лёгкой руки Стива Джобса вошедшее в нашу жизнь, само по себе не может гарантировать стопроцентной защиты от пользовательских недоразумений. Специально для таких случаев и существует наша рубрика Genius, в которой мы разбираем не требующие «хирургического вмешательства» вопросы.

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

Показатель «Блокировка и «Домой», как это видно из названия, отражает время использования гаджета не только на экране приложений или в меню «Настройки», но и в режиме блокировки. Нюанс, который следует прояснить, заключается именно в последнем. Дело в том, что каждое уведомление, приходящее на устройство, по умолчанию включает его дисплей. Если таких событий насчитывается много, что при современных сценариях использования не редкость, вышеупомянутый показатель будет расти, а время автономной работы, соответственно — сокращаться. Ваш покорный слуга также сталкивался с этой проблемой, а решить её оказалось очень просто. Для этого переходим в меню «Настройки» и выбираем пункт «Уведомления», в котором выбираем приложения и переводим для них переключатель «На заблокированном экране» в положение «выключено». При этом звук события всё равно будет проигрываться, а само уведомление отобразится после разблокировки устройства. Каким именно программам не следует беспокоить «спящий» дисплей — вещь сугубо индивидуальная, однако в первую очередь стоит обратить внимание на пункт «Почта». Здесь можно настроить показ уведомлений только для списка VIP-отправителей, что значительно сокращает время работы экрана, если вам приходит множество электронных писем.

Если вы не относитесь к самым заядлым «мобильным» игрокам, следующими «под нож» можно смело отправлять игровые приложения. Количество присылаемых ими уведомлений зачастую превышает все мыслимые пределы, поэтому эффект от их тонкой настройки заметен практически сразу. Ну а для пользователей iPhone в iOS 9 предусмотрен временный вариант — просто положите iPhone дисплеем вниз, и уведомления перестанут включать экран. Функция поддерживается на всех iPhone, начиная с 5s, а для её корректной работы требуется включить опцию «Калибровка учёта движения» в группе «Службы геолокации» раздела «Конфиденциальность» меню «Настройки».

Второй вопрос касается работы с Finder — встроенным файловым менеджером macOS.

В силу различной логики интерфейсов переход с той же Windows (и наоборот) редко проходит безболезненно, и в бытность свою новичком автор и сам задавал подобные вопросы. Для того чтобы быстро создать ярлык, переходим в содержащую файл папку (в случае с приложениями можно выбрать пункт «Открыть» из контекстного меню нажатием правой кнопки мыши на значке в Dock ). Затем обращаемся к контекстному меню самого файла, где выбираем пункт «Создать псевдоним» (Make Alias ). Последний шаг — перенести ярлык из открытого каталога на Рабочий стол.

Последний вопрос связан с неполадками при работе с медиатекой Фото в macOS.

В подобных случаях проблема может заключаться в накопившихся ошибках в файловой системе. На помощь приходит любимое средство «маководов» — программа Терминал. Находим её в поиске Spotlight и вводим следующую команду:

dot_clean /АдресМедиатеки

Не забывайте указывать полный путь к медиатеке, внимательно проверяя накопитель, логический раздел и подкаталог, в котором она располагается. По умолчанию медиатека хранится на диске HD в соответствующем имени пользователя подкаталоге «Изображения» папки «Пользователи» (Users ). Кстати, если у вас возникли неполадки с самой медиатекой, рекомендуем попробовать

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

В нашей статье мы собираемся рассказать вам об известных на сегодняшний день багах в macOS 10.14 Mojave. Стоило Apple выпустить апдейт их операционной системы для модельного ряда Mac, iMac и MacBook, приносящий достаточно много нового, как в интернете стали появляться отзывы некоторых пользователей о багах, появившихся после установки данного обновления.

Как бы это ни было печально, но нужно констатировать факт, что это стандартная практика при выходе новой версии операционной системы, так что в случае столкновения с проблемой паники быть не должно. Далее мы расскажем о путях исправления самых известных на сегодняшний день багов в macOS 10.14 Mojave. В случае, если вашей проблемы нет в этом списке, то вам нужно оставить комментарий с ее описанием к этой записи, и в следующий постах мы постараемся ее описать и найти решение.

В самом начале разберем один из самых распространенных багов- так называемый баг нулевого дня macOS Mojave, с помощью которого могли быть украдены ваши личные данные. Проблема пока актуально, поэтому советуем добавить данную страницу в закладки, и после того, как выйдет обновление от Apple, устраняющее баг, мы сразу дополним эту статью решением.

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

Проблема, возникающая на начальном этапе вызвана тем, что macOS Mojave попросту не хочет загружаться, у кого-то также появляется сообщение, гласящее, что «Не удалась загрузить macOS Mojave».

Другое окно, мешающее загрузке macOS Mojave содержит следующий текст: «Установка macOS не может продолжаться. Для установки требуется загрузка важного контента. Этот контент сейчас не может быть загружен. Попробуйте позднее.»

Сразу несколько факторов в состоянии вызвать этот баг. Например, в настоящий момент большое количество людей пробуют загрузить macOS Mojave. В таком случае, вам всего-лишь необходимо выждать определенное время и повторить попытку загрузки апдейта позднее. Также рекомендуется проверить доступность серверов Apple, чтобы удостовериться в их доступности.

Еще одной причиной неудачной загрузки операционной системы может служить нехватка места в системе. Для проверки объема свободного пространства перейдите меню Apple и щелкните «Об этом Mac».

Зайдите в «Хранилище», где вы и найдете информацию о свободном месте. Для загрузки необходимо иметь 12,5 ГБ, но если же вы производите апдейт с OS X Yosemite или более ранних версий, то нужно и того больше — 18,5 ГБ.

Не лишним будет перейти с Wi-Fi на старое доброе LAN подключение для того, чтобы обеспечить устойчивое соединение с интернетом на время обновления.

Если баги в процессе скачивания macOS Mojave не ушли, необходимо отыскать в системе скачанные файлы macOS 10.14, в частности файл с названием «Установить macOS 10.14» на вашем жестком диске. Удаляем эти файлы, перезагружаем Mac и повторяем попытку загрузки macOS Mojave.

Еще одним решением является открытие App Store, а именно раздела «Просмотреть мою учетную запись», в котором нужно удостовериться в том, что у вас нет «Незаконченных загрузок». Вероятно, вы сможете возобновить загрузку.

Ну и напоследок, попробуйте выйти из App Store, возможно, он возобновит скачивание.

Баги во время процесса установки macOS Mojave.

При багах в процессе установки macOS Mojave, сперва необходимо прочесть указания по загрузке и процессу установки MacOS 10.14 Mojave, в нем расписана последовательность действий, необходимых для процесса корректной установки macOS Mojave.

Первоначально необходимо убедиться, что ваше Mac устройство сможет получить обновление до macOS Mojave. Вот совместимые Mac устройства:

  • MacBook (версии начиная с 2015 года)
  • MacBook Air (версии начиная с 2012 года)
  • MacBook Pro (версии начиная с 2012 года)
  • Mac mini (версии начиная с 2012 года)
  • iMac (версии начиная с 2012 года)
  • iMac Pro (2017)
  • Mac Pro (версии 2013 года, 2010 и 2012 годов с Metal совместимым процессором)

В случае, если вы увидели ваш компьютер в этом списке и macOS Mojave загрузилась, но установка не начинается, вам необходимо найти на устройстве Mac файл «Установить macOS 10.14». Щелкнув на нем дважды вы начнете установку.

В том случае, когда процесс установки macOS Mojave прервался из-за недостатка пространства на диске, произведите перезагрузку вашего устройства и потом зажмите Control + R, после ее загрузки для входа в меню Recover. Нужно выбрать «Загрузка c диска» для обычной загрузки, и удалить все ненужные вам файлы.

При попытке освободить место для установки, помните про скрытые файлы Time Machine, они в состоянии занимать довольно внушительные объемы пространства.

После освобождения необходимого объема на диске можно пробовать еще раз.

При появлении ошибки по окончании процесса установки macOS Mojave, сопровождаемой информацией об ошибке, произведите перезагрузку Mac и зажмите Command + Option + R на клавиатуре, в этом случае на Mac запустится система восстановления через Интернет. Еще одно сочетание клавиш Shift + Option + Command + R.

Можно попытаться произвести загрузку Mac из безопасного режима и уже из него попытаться произвести установку macOS 10.14 Mojave.

macOS Mojave отказывается устанавливаться с внешнего устройства.

Некоторые пользователи заявляют, что Mojave отказывается устанавливаться с подключенного носителя, а напротив откатывает систему к предшествующей версии macOS.

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

Стоит попробовать предварительно установить High Sierra (предыдущую версию macOS) на съемный носитель с последующим обновлением его до Mojave.

Потерян доступ к App Store после установки macOS Mojave.

Определенное число пользователей жалуются на то, что они потеряли доступ к App Store после установки macOS Mojave. На официальном справочном сайте Apple есть список действий, которые помогут вам избавиться от этого бага.

Для начала откройте приложение KeyChain Access и перейдите в «System Roots». Вы увидите там запись «DigiCert High Assurance EV root CA». Дважды щелкните на ней, после чего откроется окно, в котором вам нужно нажать «доверять».

Также измените параметр «При использовании этого сертификата» с «Использовать системные настройки по умолчанию» на «Никогда не доверять».

Теперь перезагрузите устройство Mac и снова откройте KeyChain Access. Вернитесь в ту же директорию, в которой вы были ранее, и измените параметр «При использовании этого сертификата» назад на «Использовать Системные настройки по умолчанию».

После этих манипуляций доступ к App Store должен появиться.

Миниатюры файлов не показываются на рабочем столе.

Некоторые пользователи жалуются на то, что в результате апдейта до macOS Mojave миниатюры файлов на рабочем столе (вроде PDF и изображений) не отображаются.

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

Bluetooth не функционирует в macOS Mojave.

Очередной баг — это некорректно работающий Bluetooth на ноутбуке Mac с установленным апдейтом macOS Mojave.

Чтобы избавиться от бага откройте Поиск и выберите «Начать» в меню сверху, далее нужно нажать «Перейти в папку …». Далее ввести «/Library/Preferences».

Там вы найдете файл com.apple.Bluetooth.plist. Необходимо удалить этот файл или перенесите в другую папку, если не хотите его потерять, потом произведите перезагрузку Mac. После этого Bluetooth на ноутбуке должен заработать.

Ноутбук перестал включаться в результате апдейта до macOS 10.14 Mojave.

Когда в результате апдейта до macOS Mojave, ваше Mac устройство перестало запускаться, нужно произвести его перезагрузку и зажать сочетание кнопок Command+Option+P+R. Это действие сбросит предустановки NVRAM (энергонезависимое ОЗУ).

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

Из безопасного режима нужно провести запуск Disk Utility, что позволит вам убедиться в том, что включение после обновления macOS Mojave будет происходить в штатном режиме.

Работа mac заметно замедлилась в результате апдейта до macOS 10.14 Mojave.

Если вы заметили, что производительность вашего устройства упала в результате апдейта до macOS Mojave, то возможно это вызвано тем, что какие-то программы запускаются при загрузке системы. Если этих приложений большое количество то вы разумеется заметите замедление работы вашего устройства, но если это происходит в macOS 10.14 Mojave, то ситуация может быть еще хуже.

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

Вам потребуется запустить меню Apple и перейти в «Системные настройки». Там, в окошке нужно зайти в «Пользователи»-«Группы» и выбрать «Элементы входа». Там выбираем программы, не требующие загрузки при запуске системы, и нажимаем на небольшой значок минуса внизу этого списка.

Еще стоит удостовериться, что для всех приложений установлены последний обновления. Проверить их наличие можно в App Store или на официальных сайтах этих приложений.

Также, как и в большинстве случаев, советуем произвести перезагрузку вашего Mac устройство, возможно, это сможет помочь. В случае, если перезагрузка не помогла, советуем вам закрыть все приложения, занимающие большой объем оперативной памяти. Посмотреть это можно при использовании Activity Monitor (in/Applications/Utilities). Там вы увидите программы и процессы, потребляющие наибольший объем CPU или RAM. Во вкладке CPU показаны запущенные процессы с отображением потребления CPU в режиме реального времени.

Для принудительного завершения процесса, нужно щелкнуть на нем в Мониторе активности, нажать на X левее от панели инструментов и ответить согласием на запрос о принудительном завершении работы.

В появившейся строчке введите /Library/Caches.

Поисковик перестал функционировать после апдейта до macOS 10.14 Mojave.

Некоторые пользователи заявили, что Поисковик не запускается или перестает отвечать на запросы в результате апдейта до macOS 10.14 Mojave.

При появлении данной проблемы, запустите Терминал и произведите такую команду:

~/Library/Preferences/com.apple.finder.plist

Нажмите кнопку Enter. Данный файл появится выделенным в Поисковике. Выберите файл и далее удалите его. После этого произведите перезагрузку Mac.

Поиск не обновляется при перемещении или удалении файлов.

Есть еще одна проблема поисковика, возникающая в macOS Mojave. В некоторых случаях он не отображает изменения файлов (например, перемещение или удаление файлов).

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

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

Не функционируют программы в macOS 10.14 Mojave.

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

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

Для этого вам необходимо перейти на официальный сайт этого приложения. Там вы сможете найти актуальные версии для него и рекомендации для его корректного запуска.

Когда ваше программное обеспечение устаревает, оно может быть попросту несовместимо с новыми системами, такими как macOS Mojave. Если это так, то все, что вам остается это задуматься о приобретении обновленной версии или поиске альтернативного ПО.

Также macOS Mojave официально поддерживает 64-разрядные программы, поэтому, если ваша программа 32-разрядная вы увидите предупреждение, гласящее, что данная программа не оптимизирована для вашего Mac. В этом случае, советуем вам удостовериться, что вы используете именно 64-разрядную версию приложения для получения комфортного опыта использования macOS Mojave.

Для проверки того, какую версию, 32 или 64-разрядную, вы используете, нужно открыть меню Apple и нажать на «Об этом Mac». Выбрать «Системный отчет», далее в меню слева перейти в «Приложения». Там есть столбик «64-бит». У всех 64-разрядных приложений в этом столбике стоит «Да». Если там написано «Нет», нужно по возможности обновиться до 64-разрядной версии, или перейти на использование другого приложения, имеющего 64-битную версию.

Баги аккумулятора в macOS Mojave.

Некоторые пользователи заметили уменьшение времени автономной работы после обновления до macOS Mojave?

В этом случае вам необходимо установить, какие процессы тратят заряд аккумулятора в macOS Mojave. Для этого откройте Поиск, далее зайдите в «Приложения»> «Утилиты»> «Монитор активности»> «Энергопотребление».

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

Еще один выход — это использовать альтернативные программы с меньшим энергопотреблением.

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

Проводной и беспроводной интернет отказываются функционировать после установки macOS 10.14 Mojave.

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

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

Надеемся, что с помощью этих хитростей в настройке, вам удалось добиться максимальной производительности после установки macOS 10.14 Mojave.

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter


Иногда ошибки Code 36 типа "синий экран", связанные с аппаратным обеспечением, могут быть вызваны повреждением оперативной памяти (RAM). Если вы сталкиваетесь со случайными перезагрузками компьютера, звуковыми сигналами при загрузке или другими неисправностями компьютера (в дополнение к ошибкам BSOD 36), то весьма вероятно, что имеются повреждения памяти. На самом деле, почти 10% падений приложений в ОС Windows вызваны повреждениями памяти.

Если вы недавно добавили новую память в компьютер, мы рекомендуем временно убрать ее, чтобы убедиться, что она не является причиной ошибки Code 36. Если это действие устранило BSOD, знаичит, это источник проблемы, и, следовательно, новая память либо несовместима с каким-то вашим оборудованием, либо повреждена. В таком случае, вам потребуется замена новых модулей памяти.

Если вы не добавляли новой памяти, на следующем этапе необходимо провести диагностический тест имеющейся памяти компьютера. Тест памяти позволяет провести сканирование на наличие серьезных сбоев памяти и периодических ошибок, которые могут быть причиной вашего синего экрана смерти 36.

Хотя последние версии Windows содержат утилиту для проверки оперативной памяти, я крайне рекомендую вместо нее использовать Memtest86 . Memtest86 представляет собой тестирующее программное обеспечение на основе BIOS, в отличие от других тестовых программ, запускаемых в среде Windows. Преимущество такого подхода в том, что утилита позволяет проверять ВСЮ операционную память на наличие ошибок Code 36, в то время как другие программы не могут проверять области памяти, занятые собственно программой, операционной системой и другими запущенными программами.