web-dev-qa-db-fra.com

LLDB: expression IRGen impossible

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?

27
niklassaers

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
18
Jonathan Cabrera

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/*

5
Jorge Omar MH

Dans mon cas, je viens de redémarrer Xcode, et c'est bon :)

0
Anton Malmygin