web-dev-qa-db-ja.com

Xcode 8でビジュアルメモリデバッガを有効にする方法は?

プロジェクトを以前のバージョンのXcodeからXcode8に移行しました。必要なのは新しいビジュアルメモリデバッガーを使用することです。新しいプロジェクトで利用できますが、インポートしたプロジェクトでは完全に欠落しています。どうしてこれなの?

12
PopKernel

Visual Memory Debuggerが機能するには、Swift 3が必要です。

Swift 2.3に移行しましたが、機能しませんでした。Swift 3.0に移行しようとすると、すぐに機能しました。

ビジュアルメモリデバッガーが機能するためにランタイムサニタイズチェックボックスは必要ありませんが、無効になっている理由は同じです。

12
gabriellanata

プロジェクトでは、Adress&Thread Sanitizer(メモリデバッガー)を有効にするためにSwift 3)が必要なようです。

address sanitizerthread sanitizer

私にとって、これはiOSとOS X/macOSアプリの両方に当てはまります。両方ともSwift 2.2で書かれ、2.3に変換されます。

注:これはOS X El Capitan10.11.5でのみテストしました。

@gabriellanataは、コードがSwift 3に変換されたときに機能することを確認します。

7
mangerlahn

[メモリ]をクリックすると、ソースエディタペインが変更され、無効になっている理由などのメモリ情報が表示されます。私の場合、Schemeでゾンビオブジェクトを有効にしていたためです。 (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ビルドエラー

P.S. Visual MemoryDe​​buggerでサポートされているObjective-c

0
Uladzimir

Xcode8でXcode7を使用して作成されたObjective-CiOS 7プロジェクトを(移行せずに)実行したところ、Xcodeの下部のデバッグ領域の[デバッグビュー階層]ボタンの横に[ビジュアルメモリデバッガ]アイコンが表示されます。

Visual memory Debugger

3つの円が付いたボタンです。

他のコメントから、この機能を使用するにはSwift 3が必要な場合があります。

0
JAL