webentwicklung-frage-antwort-db.com.de

Wie aktiviere ich den Visual Memory Debugger in Xcode 8?

Ich habe ein Projekt von der vorherigen Version von Xcode auf Xcode 8 migriert. Ich möchte den neuen visuellen Speicher-Debugger verwenden. Es ist in neuen Projekten verfügbar, fehlt aber in meinem importierten Projekt vollständig. Warum ist das?

12
PopKernel

Offenbar ist Swift 3 erforderlich, damit der Visual Memory Debugger funktioniert.

Meine auf Swift 2.3 migrierte App hat nicht funktioniert. Als ich es auf Swift 3.0 migrierte, funktionierte es sofort.

Das Kontrollkästchen zur Laufzeitbereinigung ist für das Funktionieren des Debugger für visuellen Speicher nicht erforderlich. Der Grund für die Deaktivierung ist jedoch derselbe.

12
gabriellanata

Es scheint, dass für das Projekt Swift 3 erforderlich ist, um Adress & Thread Sanitizer (den Speicher-Debugger) zu aktivieren.

 address sanitizer  thread sanitizer

Für mich gilt dies sowohl für iOS als auch für OS X/macOS-Apps. Beide sind in Swift 2.2 geschrieben und in 2.3 konvertiert.

Hinweis: Ich habe dies nur unter OS X El Capitan 10.11.5 getestet.

@gabriellanata bestätigt, dass es funktioniert, wenn der Code in Swift 3 konvertiert wird.

7
mangerlahn

Wenn Sie auf Speicher klicken, werden im Speicherbereich des Quelleditors einige Speicherinformationen angezeigt, einschließlich der Gründe für die Deaktivierung. In meinem Fall war es, weil ich Zombie-Objekte im Schema aktiviert hatte. (Xcode 8.3.2)

0
Rick
Argument '-sanitize=address' is not supported on the Swift 2.3 toolchain. 
You will need to migrate your project to Swift 3 to use this feature.

Xcode 8 GM Build-Fehler

P.S. Objective-c wird von Visual Memory Debugger unterstützt

0
Uladzimir

Ich habe gerade ein Objective-C-iOS 7-Projekt ausgeführt, das mit Xcode 7 in Xcode 8 erstellt wurde (ohne zu migrieren), und das Symbol Visual Memory Debugger wird am unteren Rand von Xcode im Debugging-Bereich neben der Schaltfläche Debug View Hierarchy angezeigt.

 Visual memory Debugger

Es ist der Knopf mit den drei Kreisen.

Bei den anderen Kommentaren scheint Swift 3 erforderlich zu sein, um diese Funktion zu verwenden.

0
JAL