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, и это хорошо :)