답변:
환경 변수는 이제 "체계"의 일부입니다.
구성표를 편집하고 좀비를 켜려면
"제품"메뉴에서 "구성표 편집"을 선택하십시오.
왼쪽 패널의 "Run Foo.app"단계 및 오른쪽의 "Arguments"탭으로 이동하십시오.
NSZombieEnabled
"환경 변수"섹션에 추가 하고 YES
Xcode 3에서와 같이 값을로 설정하십시오 .
Xcode 4.1 이상 에서는 "Run"스테이지의 "Diagnostics"탭에 "Zombie Objects Enable"에 대한 확인란이 있습니다.
Xcode 6.4에서 :
EXC_BAD_ACCESS 문제 해결과 동일한 문제가 발생하여 Xcode 4.2 (iOS5 SDK와 함께 제공되는 최신 버전)로 설정을 찾기가 어려웠습니다. Apple은 계속 움직이고 설정은 더 이상 원래 있던 곳이 아닙니다.
다행히도 그것을 찾았으며 시뮬레이터뿐만 아니라 장치에서도 작동합니다. Xcode에서 제품 메뉴를 열고 구성표 편집을 선택한 다음 진단 탭을 선택해야합니다. "좀비 개체 사용"이 있습니다. 디버거에서 선택하고 실행하면 이중 해제 된 객체를 가리 킵니다. 즐겨!
한마디로
Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects
제품> 프로필이 기기를 시작하면 "좀비"라는 "추적 템플릿"이 있어야합니다. 그러나이 추적 템플릿은 현재 빌드 대상이 시뮬레이터 인 경우에만 사용할 수 있습니다. 대상이 iOS 장치로 설정되어 있으면 사용할 수 없습니다.
또한 주목해야 할 또 다른 점은 인스트루먼트 라이브러리에 실제 좀비 인스트루먼트가 없다는 것입니다. 좀비 추적 템플릿은 실제로 "NSZombie 탐지 사용"시작 구성 세트가있는 할당 장치로 구성됩니다.
실행 파일에 환경 변수를 설정 한 (NSZombieEnabled = YES)
다음 앱을 정상적으로 실행 / 디버깅 하는 간단한 문제입니다 . 좀비에게 메시지를 보내면 앱이 중단되거나 디버거와 NSLog
메시지가 표시됩니다.
자세한 내용은 다음 CocoaDev 페이지를 확인하십시오. http://www.cocoadev.com/index.pl?NSZombieEnabled
또한이 프로세스는 10.6 릴리스와 다음 버전의 Xcode 및 Instruments로 훨씬 쉬워 질 것입니다. 그냥 말하기. =)
제품> 프로파일이 기기에 나타납니다. 패널에서 좀비를 선택하고 견과류를 이동하십시오.
다음은 iOS에서 인스트루먼트 및 NSZombie를 사용하여 메모리 충돌을 찾아 수정하는 방법에 대한 비디오 및 설명입니다. http://www.markj.net/iphone-memory-debug-nszombie/
Xcode 3.2.5 및 Snow Leopard (Mac OS X 10.6)부터 Zombies 기기를 통해 코드를 실행할 수 있습니다 Run > Run with Performance Tool > Zombies
. 이를 통해 타임 라인에서 특정 객체와 해당 개수를 볼 수 있습니다.
좀비 로깅을 활성화하려면 Xcode 프로젝트의 실행 파일 그룹에서 실행 파일을 두 번 클릭하십시오. 이 시점에서 인수 탭을 클릭하고 Variables to be set in the environment:
섹션에서 변수를 호출 NSZombieEnabled
하고 값을로 설정하십시오 YES
.
실행 파일의 환경 NSZombieEnabled
설정에서 환경 변수를 추가 하고 값을로 설정하십시오 YES
.
NSZombieEnabled는 BAD_ACCESS 디버깅에 사용됩니다.
Xcode의 스키마 시트에서 NSZombiesEnabled 환경 변수를 활성화하십시오.
Click on Product⇒Edit Scheme to open the sheet and set the Enable Zombie Objects check box
이 비디오 는 내가 말하려는 것을 보는 데 도움이됩니다.