LLDB «Fix-it apply» кажется неверным в том, что я хотел напечатать - PullRequest
0 голосов
/ 19 октября 2018

Я использую Xcode 10 и Swift, и у меня есть точка останова в моем коде:

    let logoWPoints = logoUIImage.size.width
    let logoHPoints = logoUIImage.size.height
    let logoScale = logoUIImage.scale
    let logoWPixels = logoWPoints * logoScale
    let logoHPixels = logoHPoints * logoScale // <--- breakpoint

Я набираю в консоли в LLDB «print logoWPoints», что приводит к ошибке:

(CGFloat) $ R0 = 281 Исправлено-применено, фиксированное выражение было: logoWPixels

Неверно!Я хочу логотипWPoints так же, как я напечатал.Я видел это в последнее время.В чем дело?

ОБНОВЛЕНИЕ - Когда я использую команду переменной кадра в LLDB, я вижу сообщение о том, что logoWPoints недоступны:

(CGFloat) logoWPoints = переменная недоступна

Странно, если я распечатаю, что это равно (logoUIImage.size.width), я получаю результат просто отлично.Так почему он говорит, что он недоступен?

1 Ответ

0 голосов
/ 19 октября 2018

Уже есть ответ на вопрос, который возвращает к сообщению «переменная недоступна» в связи с сообщением «Fix-it apply», которое относится к оптимизации компилятора.

Для тех, ктос проблемой Fix-it, смотрите этот ответ для деталей: Ошибка lldb: переменная недоступна

...