LLDB: не может быть выражение IRGen

Когда я запускаю unit тест и хочу что-то отлаживать, я устанавливаю точку останова и набираю, например, "po myVariable". Ответ, который я получаю от LLDB:

error: Couldn't IRGen expression, no additional error

Пример:

У меня есть самый маленький маленький блок-тест, определенный здесь:

class MyExampleTests: XCTestCase {
    func testLLDB() {
        let world = "World"
        print("Breakpoint goes here")
        print("Hello \(world)")
    }
}

Я установил точку останова в "Breakpoint is here here", и когда я бегу, я делаю "po world":

(lldb) po world
error: Couldn't IRGen expression, no additional error

Любые предложения, как я могу заставить его оценить мое выражение вместо этого?

Ответ 1

У меня возникла та же проблема с использованием каркасов Carthage, и я снова включил отладчик LLDB, удалив папку Carthage в корне проекта и заставив Carthage пересобрать каркасы из исходного кода:

carthage update --platform iOS --no-use-binaries

Ответ 2

вы можете попробовать с помощью команды netx: Зависит от того, где у вас установлена Swift, в моем случае это в /opt/swift/

sudo chmod 644 /opt/swift-3.1.1/usr/lib/swift/CoreFoundation/*

Ответ 3

В моем случае я просто перезапустил Xcode, и это хорошо :)