2015-07-20 4 views
8

В одном проекте, который я использую Я не могу установить контрольные точки в коде Swift, Xcode всегда сбой при достижении одного из них, не имеет значения, является ли это «ручной» или контрольной точкой исключения.Xcode 6.4 сбой в точке быстрого прерывания

В других проектах все работает так, как ожидалось, только для одного проекта Xcode 6.4 (6E35b) всегда сбой.

Я попытался очистить, удалить производные данные, сбросить симулятор, перезапустить Xcode/Mac - ничего не помогло.

Кто-нибудь еще испытывает эту проблему и, надеюсь, знает, что помогает?

РЕДАКТИРОВАТЬ Кажется только иметь место на одной машине (Xcode 6.4, 10.10.5), но не на другом (Xcode 6.4, Эль Capitan). Но, как я уже упоминал в комментариях, переустановка Xcode не помогла, есть ли другие настройки, которые я мог бы сбросить/удалить?

EDIT2 Вот лог аварии файл Xcode: https://dl.dropboxusercontent.com/u/119600/Xcode_2015-08-12-074655_Stefans-iMac.crash

+0

У меня похожие проблемы, является ли точка останова в функции обратного вызова или блоке завершения? –

+0

не имеет значения для меня. Действительно каждая точка останова в Swift падает; в части Objective-C он работает нормально, но в Swift он падает всегда и везде. – swalkner

+0

Это только один проект или более одного? Возможно, ошибка требует заполнения Apple. Позже я попробую загрузить эту версию ... – rholmes

ответ

2

Я хотел бы попробовать удалить и переустановить Xcode, чтобы увидеть, если это помогает ... Я слышал об успехах с этой техникой для подобных вопросов.

Просто удалите весь Xcode.app из/Приложения и переустановите его из .dmg. Если вы не уверены в двоичных файлах и имеете время/пропускную способность, подумайте о повторной загрузке .dmg.

Если это не сработает, попробуйте выполнить следующие трюки контроля исходного кода (заменить «ваш любимый контроль версий» для «мерзавца»):

  • Попробуйте продувкой все объекты не управления исходным кодом
  • Другой подход: снова загляните в новое хранилище (это позволит получить даже файлы, которые, возможно, были зафиксированы, но проигнорированы позже).
  • Если не под контролем исходного кода, возьмите .gitignore from here и добавьте его в git, затем зайдите в другой каталог (это оставит все, кроме источника, конструктора интерфейса, файлов проекта и ресурсов/активов).

Я бы предложил переместить код точки останова в другое место (например, вызвать вызов функции и разбить ее до или внутри функции). Однако, если у всего кода Swift есть эта проблема, это может не сработать.

Наконец, сделав промежуточную фиксацию (чтобы вернуться к ней), попробуйте в Xcode 7 beta. Немного хлопот, потому что вам нужно обновиться до Swift 2.0, но если вы сохранили цель развертывания, то никаких изменений цели iOS не потребуется.

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

В любом случае, поскольку вы отмечаете, что это почти все точки останова в коде Swift, сообщите об ошибке с репортером ошибок Apple. Им действительно нужно услышать о таких проблемах, как это,, поскольку вы, похоже, не одиноки в этой проблеме.

EDIT: Где другие видят эту проблему? Возможно, мы можем видеть общность - поскольку об этом сообщается только в проектах Swift (до сих пор). Коллега видел эту проблему с точками останова (а также с помощью кода) в Xcode 6.4 10.10.4. (Я видел ошибки Xcode 6.4 в прошлом).

Я вижу версию ОС 10.10.5, обозначенную как цель, где это происходит (@swalkner); это бета? Если OS 10.10.4/5 - единственное место, где мы видим это, это может быть значительным. Если это взаимодействие между проектом и ОС, может быть сложно воспроизвести/исправить, но я бы рекомендовал всем отправлять подробные отчеты об ошибках в Apple (возможно, даже ссылку на это сообщение).

Некоторые пункты отметить, что если вы видите это:

  • версия операционной системы
  • Оборудование
  • Target: Simulator против аппаратного обеспечения; Приложение iOS против WatchKit.
  • Целевая версия SDK
  • Swift только? Или в проекте Objective-C? Смешанные?
  • Только один проект или несколько?
+0

Удаление - удалите его только из папки «Программы» или что-то более сложное? :) – swalkner

+0

к сожалению это не помогло. Также 'defaults delete com.apple.dt.Xcode' – swalkner

+0

Извините, что услышать это - удачи! – rholmes

1

Это рискованное, но дайте мне знать, если он работает:

снимите флажок "Всегда показывать Dissasembly" проверить

Debug > Debug Workflow > Always Show Disassembly 

В старых версиях Xcode (< 6.1):

Product > Debug Workflow > Show Disassembly When Debugging 
+0

не помог, к сожалению; спасибо, тем не менее! – swalkner

0

Я только что провел последние несколько часов, пытаясь решить точно такую ​​же проблему.

Сначала я подумал, что это началось из-за установки Xcode 7 на том же компьютере, что и Xcode 6.4. Проблема, конечно, совпала.

Однако из-за наличия контроля версий, я мог смотреть и видеть, какие файлы были изменены с момента открытия проекта с Xcode 7.

Файл images.xcassets был изменен. Возврат этого файла назад остановил Xcode от сбоя каждый раз, когда он попал в точку останова.

Я не уверен, что это вообще помогает, но определенно посмотрите на images.xcassets и, если нужно, удалите его, заново создайте и убедитесь, что он настроен на 100%. Это, безусловно, устранило мою проблему.

+0

отличная информация - знаете ли вы, что именно изменилось для images.xcassets? Действительно странно ... – swalkner

+0

Я считаю, что Xcode 7 добавил x3 изображения в файл или, по крайней мере, попытался. – Wardy