単体テストを実行していて、何かをデバッグしたい場合、ブレークポイントを設定して、たとえば「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 goes here」にブレークポイントを設定し、実行すると「po world」を実行します。
(lldb) po world
error: Couldn't IRGen expression, no additional error
代わりに式を評価する方法についての提案はありますか?
私はCarthageフレームワークを使用して同じ問題を抱えていましたが、プロジェクトルートのCarthageフォルダーを削除してCarthageにソースからフレームワークを再構築させることで、LLDBデバッガーを再び動作させました:
carthage update --platform iOS --no-use-binaries
netxコマンドで試すことができます:Swiftをインストールした場所に依存します、私の場合は/ opt/Swift /です
Sudo chmod 644 /opt/Swift-3.1.1/usr/lib/Swift/CoreFoundation/*
私の場合、Xcodeを再起動したばかりで、それで問題ありません:)