programing

Xcode 4에서 NSZombieEnabled를 설정하려면 어떻게 해야 합니까?

i4 2023. 4. 16. 14:33
반응형

Xcode 4에서 NSZombieEnabled를 설정하려면 어떻게 해야 합니까?

셋업 방법NSZombieEnabled그리고.CFZombieLevelXcode 4에서 실행 가능한 파일인가요?

Xcode 4.x에서 를 누릅니다.

R

(또는 클릭)Menubar>Product>Scheme>Edit Scheme)

[ Diagnostics ]탭을 선택하고 [Enable Zombie Objects]을 클릭합니다.

"좀비 개체 사용"을 클릭합니다.

이렇게 하면 릴리스된 오브젝트가 NSZombie 인스턴스로 변환되어 다시 사용할 때 콘솔 경고가 출력됩니다.이는 메모리 사용량은 증가하지만(오브젝트는 실제로 릴리스되지 않음) 오류 보고를 개선하는 디버깅 보조 도구입니다.

일반적으로 개체를 오버릴리스할 때 어떤 개체를 오버릴리스할 수 있는지 알 수 있습니다.

  • 좀비의 경우:-[UITableView release]: message sent to deallocated instance
  • 좀비 없음:EXC_BAD_ACCESS

이 Xcode 설정은 앱스토어 제출을 위해 애플리케이션을 아카이브할 때 무시됩니다.어플리케이션을 출시하기 전에 아무것도 터치할 필요가 없습니다.

키를 누른 채로 [Product]> [ Run ]를 선택하는 것과 같습니다.
"Enable Zombie Objects" 확인란을 클릭하는 것은 Arguments 탭의 "Environment Variables" 섹션에 "NSZombieEnabled = YES"를 수동으로 추가하는 것과 같습니다.

가장 쉽게 찾을 수 있는 방법은 자노 씨입니다.또 다른 방법은 scheme 드롭다운바 -> edit scheme -> arguments 탭을 클릭하여 [Environment Variables]컬럼에 NSZombie Enabled를 추가하고 [Value]컬럼에 [YES]를 추가하는 것입니다.

이 대안이 더 편리하다고 생각합니다.

  1. "실행 버튼" 드롭다운을 클릭합니다.
  2. 목록에서 다음을 선택합니다.Profile
  3. 프로그램 "기"은 선택할 수 있는 프로그램"을 엽니다.Zombies
  4. 이제 앱과 상호 작용하여 오류를 발생시킬 수 있습니다.
  5. 오류가 발생하면 즉시 개체가 릴리스되어 할당 해제된 시기를 알 수 있습니다.

좀비

좀비가 검출되면 문제의 오브젝트가 언제 할당되었는지, 그 오브젝트가 어디에 보존되어 있는지, 또는 릴리스되어 있는지를 나타내는 깔끔한 「좀비 스택」을 얻을 수 있습니다.

Event Type    RefCt     Responsible Caller
Malloc            1     -[MyViewController loadData:]
Retain            2     -[MyDataManager initWithBaseURL:]
Release           1     -[MyDataManager initWithBaseURL:]
Release           0     -[MyViewController loadData:]
Zombie           -1     -[MyService prepareURLReuqest]

Xcode Schemes의 Diagnostic 탭을 사용하는 것과 비교하면 다음과 같은 장점이 있습니다.

  1. Diagnostics 탭의 옵션을 선택하지 않으면 메모리로부터 개체가 해방되지 않습니다.

  2. 손상된 개체가 할당/해제 또는 유지된 방법을 보여 주는 더 자세한 스택이 표시됩니다.

Xcode 4.2의 경우

  • 프로젝트명/스킴 편집/진단/
  • [ Enable Zombie Objects ]체크박스
  • 모든 작업이 완료됩니다.

On In Xcode 7(입력 코드 7)

<

or select 또는 선택Edit Scheme부에서Product> > >Scheme메뉴 뉴 메

택을 선택합니다.Enable Zombie Objects form the 을 형성하다Diagnostics

xcode 7 좀비 플래그

다른 으로, 만약 이 더 좋아한다면..xcconfighttps://therealbnut.wordpress.com/2012/01/01/setting-xcode-4-0-environment-variables-from-a-script/ 에서 참조할 수 있는 파일

코코아는 이러한 상황을 디버깅하는 능력을 크게 높여주는 시원한 기능을 제공합니다.NSZombieEnabled라고 불리는 환경변수입니다. 비디오를 통해 객관적 C에서의 NSZombieEnabled 설정에 대해 설명합니다.

Xcode > 4.3의 경우:

scheme 드롭다운바 -> edit scheme -> arguments 탭을 클릭하여 [Environment Variables]컬럼에 NSZombie Enabled를 추가하고 [Value]컬럼에 [YES]를 추가합니다.

행운을 빈다!!!

언급URL : https://stackoverflow.com/questions/2190227/how-do-i-set-up-nszombieenabled-in-xcode-4

반응형