Xcode 4에서 NSZombieEnabled를 어떻게 설정합니까?
어떻게 설정합니까 NSZombieEnabled
와 CFZombieLevel
엑스 코드 4 년 내 실행 파일?
Xcode 4.x에서
⌥⌘R
(또는 클릭 Menubar
> Product
> Scheme
> Edit Scheme
)
"진단"탭을 선택하고 "좀비 개체 사용"을 클릭하십시오.
이렇게하면 릴리스 된 객체가 다시 사용될 때 콘솔 경고를 인쇄하는 NSZombie 인스턴스로 전환됩니다. 이것은 메모리 사용을 늘리고 (실제로 객체가 해제되지는 않음) 오류보고를 향상시키는 디버깅 보조 도구입니다.
일반적인 경우는 객체를 과도하게 해제하고 어떤 것을 알지 못하는 경우입니다.
- 좀비로 :
-[UITableView release]: message sent to deallocated instance
- 좀비없이 :
이 Xcode 설정은 App Store 제출을 위해 애플리케이션을 아카이브 할 때 무시됩니다. 응용 프로그램을 해제하기 전에 아무것도 만질 필요가 없습니다.
누르면 ⌥⌘R지키는 동안 제품> [실행]을 선택하는 것과 동일 Alt키 것은 눌렀습니다.
"좀비 개체 사용"확인란을 클릭하는 것은 인수 탭의 "환경 변수"섹션에서 "NSZombieEnabled = YES"를 수동으로 추가하는 것과 같습니다.
Jano의 대답은 그것을 찾는 가장 쉬운 방법입니다 .. 다른 방법은 구성표 드롭 다운 막대-> 구성표 편집-> 인수 탭을 클릭 한 다음 환경 변수 열에 NSZombieEnabled를 추가하고 값 열에 YES를 추가하는 것입니다.
이 대안이 더 편리하다는 것을 알았습니다.
- "실행 버튼 드롭 다운"을 클릭하십시오.
- 목록에서
Profile
- "Instruments"프로그램을 열면 선택할 수도 있습니다
Zombies
- 이제 앱과 상호 작용하고 오류를 일으킬 수 있습니다
- 오류가 발생하자마자 개체가 해제되어 할당이 해제 될 때 힌트를 얻을 수 있습니다.
좀비가 감지되면 문제의 개체가 할당 된 시점과 보관 또는 해제 된 위치를 보여주는 깔끔한 "좀비 스택"을 얻습니다.
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의 진단 탭을 사용할 때의 장점 :
진단 탭에서 옵션을 선택 취소하는 것을 잊어 버린 경우 메모리에서 객체가 해제되지 않습니다.
손상된 객체가 어떤 방법으로 할당 / 릴리스 또는 유지되는지를 보여주는보다 자세한 스택을 얻을 수 있습니다.
Xcode 4.2에서
- 프로젝트 이름 / 편집 체계 / 진단 /
- 좀비 개체 사용 확인란
- 끝났어
Xcode 7에서
⌘<
또는 > 메뉴 Edit Scheme
에서 선택하십시오Product
Scheme
선택 Enable Zombie Objects
양식 Diagnostics
탭을
또는 .xcconfig
파일 을 선호하는 경우이 기사 https://therealbnut.wordpress.com/2012/01/01/setting-xcode-4-0-environment-variables-from-a-script/를 읽을 수 있습니다
Cocoa는 이러한 상황을 디버깅하는 기능을 크게 향상시키는 멋진 기능을 제공합니다. NSZombieEnabled라는 환경 변수 입니다. objective-C에서 NSZombieEnabled 설정을 설명하는 이 비디오 를보십시오.
Xcode> 4.3에서 :
체계 드롭 다운 막대-> 체계 편집-> 인수 탭을 클릭 한 다음 환경 변수 열에 NSZombieEnabled를 추가하고 값 열에 YES를 추가하십시오.
행운을 빕니다 !!!
참고 URL : https://stackoverflow.com/questions/2190227/how-do-i-set-up-nszombieenabled-in-xcode-4
'Programing' 카테고리의 다른 글
브라우저가 파일 다운로드를받는시기 감지 (0) | 2020.02.16 |
---|---|
lock (this) {…}이 나쁜 이유는 무엇입니까? (0) | 2020.02.16 |
Xcode 5에서 프로비저닝 프로파일 메뉴 항목이 누락 됨 (0) | 2020.02.16 |
클릭 이벤트가 동적으로 생성 된 요소에서 작동하지 않음 (0) | 2020.02.16 |
두 개의 dicts를 결합하는 파이썬적인 방법이 있습니까 (둘 다에 나타나는 키 값 추가)? (0) | 2020.02.16 |