Lorsque j'exécute un test unitaire et que je veux déboguer quelque chose, je définis un point d'arrêt et saisis par exemple "po myVariable". La réponse que j'obtiens de LLDB est:
error: Couldn't IRGen expression, no additional error
Exemple:
J'ai le plus petit test unitaire défini ici:
class MyExampleTests: XCTestCase {
func testLLDB() {
let world = "World"
print("Breakpoint goes here")
print("Hello \(world)")
}
}
J'ai défini mon point d'arrêt dans "Breakpoint goes here", et quand je cours, je fais 'po world':
(lldb) po world
error: Couldn't IRGen expression, no additional error
Avez-vous des suggestions sur la façon dont je peux lui faire évaluer mon expression à la place?
J'avais le même problème en utilisant les frameworks Carthage, et j'ai fait redémarrer le débogueur LLDB en supprimant le dossier Carthage dans la racine du projet et en forçant Carthage à reconstruire les frameworks à partir de la source:
carthage update --platform iOS --no-use-binaries
vous pouvez essayer avec la commande netx: dépendez de l'endroit où vous avez installé Swift, dans mon cas se trouve dans/opt/Swift /
Sudo chmod 644 /opt/Swift-3.1.1/usr/lib/Swift/CoreFoundation/*
Dans mon cas, je viens de redémarrer Xcode, et c'est bon :)