2014-09-10 5 views
1

안녕하세요, 내 응용 프로그램 중 하나가 반복적으로 충돌하고 오류를주는거야.객관적인 c의 메모리 주소를 기반으로 개체 이름을 알아내는 방법

*** -[CFString release]: message sent to deallocated instance 0x1b7a3b70 

메모리 주소를 사용하여 개체 이름을 가져 오는 방법이 있습니까? 악기 (좀비)를 사용했고 심지어 Xcode에서 좀비를 사용했지만 운이 없었습니다. 이 문제에 대해 제발 도와주세요. 제발 저를 도와주세요.

+0

두 개체를 두 번 릴리스하고 있습니다 ... –

+0

Xcode에서 예외 중단 점을 추가하려고 시도한 적이 있습니까? – trojanfoe

답변

1

대부분의 Objective-C 개체에는 이름이 없습니다. (NSOperationQueue와 같은 몇 가지 예외가 있습니다).

정적 분석기를 사용하여 모든 경고를보고 수정하는 것이 좋습니다. 특히 코드에서 ARC에 의해 자동으로 처리되지 않는 CoreFoundation을 사용하지만 정적 분석기는 일반적으로 잘못된 용도를 찾습니다.

이 상황에서 스택 추적을 표시하는 것이 도움이 될 수 있습니다.

1

분명히 문자열입니다. 가능성이 CFString하지만 NSString에서 브리지 수 있습니다. 그 지식으로, 디버거와 중단 점을 사용하십시오. 중단 점을 사용하면 코드를 단계별로 실행하고 QuickLook을 사용하여 객체에 대한 세부 정보를 볼 수 있습니다.