Отладчик XCode отображает неверные значения для переменных - PullRequest
0 голосов
/ 02 ноября 2018

Я ранее задавал похожий вопрос здесь . Эта версия имеет более простой пример

ОБНОВЛЕНО РЕЗЮМЕ: Xcode отображает «FAIL» в разделе переменных отладчика для каждой строки. Операторы Swift print () показывают правильные значения переменных. Все остальные типы данных отображаются правильно. Как мне вернуться к рабочему исполняемому файлу?

Проблема: Xcode отображает неверные значения для переменных. Первоначально это произошло с одним проектом. Теперь КАЖДЫЙ проект, включая новые, имеет неверные значения переменных. Вот скриншот, демонстрирующий проблему в новом проекте (простите, что я использовал ViewDidLoad () как main () ..)

enter image description here

Вот что я сделал: Удалите Xcode.app (версия 10.0). Загрузите Xcode 10.1 из App Store. Создать новый проект. Введите этот код и запустите.

Эта же проблема возникает в существующих проектах в Xcode 9.4.1 и Xcode 10.0 - то же поведение, что и при новой установке Xcode 10.1.

Поскольку все версии XCode показывают одну и ту же проблему, я предполагаю, что эта проблема не в исполняемом файле XCode, а в некотором кэше или другом временном файле. Я очистил свой проект, перезапустил Xcode, перезагрузил и т. Д. Не помогло.

Итак, мой вопрос: как мне получить чистую установку Xcode? Какие каталоги я могу удалить, чтобы перейти в рабочее состояние? Я новичок. У меня есть только тестовые проекты, которые я запускаю в отладчике iOS или в OS X, поэтому я очень рад перекомпиляции всех своих проектов. Есть ли полный список временных файлов и каталогов, которые использует Xcode?

Нужно ли удалять ВСЕ, что Xcode когда-либо записывал на диск? Я открыт для этого, если другого решения не существует.

Спасибо за любые предложения о том, как действовать или как собрать дополнительную информацию ...

1 Ответ

0 голосов
/ 03 ноября 2018

Я смог решить эту проблему после МНОГО догадок.

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

Я просмотрел каталог UserData и нашел подкаталог для отладчика:

~/Library/Developer/Xcode/UserData/Debugger/

В этом каталоге находился файл с именем «CustomDataFormatters». Я не знаю, как файл был создан, но вот его содержимое:

<?xml version="1.0" encoding="UTF-8"?>
<CustomDataFormatters
   version = "1.0">
   <SummaryFormatters>
      <SummaryFormatter
         formatString = "FAIL"
         type = "Swift.String">
      </SummaryFormatter>
   </SummaryFormatters>
</CustomDataFormatters>

Этот файл, кажется, устанавливает каждую строку в "FAIL", что является точным поведением, которое я видел. Дополнительное тестирование показало, что целые числа, числа с плавающей запятой и другие типы данных отображаются правильно - это был только тип String, который всегда был неверным.

Удаление этого файла решило мою проблему.

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

Во время отладки приложения я щелкнул правой кнопкой мыши по строковым переменным, чтобы «скопировать» данные или «Просмотреть значение как ...». Я нажал некоторую последовательность клавиш, чтобы создать этот файл во время дегугирования? Я нажал на какое-то странное сочетание клавиш при попытке использовать CMD + B или CMD + R ??

Кроме того, я изменил название этой проблемы на «Отладчик Xcode отображает« FAIL »для всех строк», чтобы помочь будущим поискам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...