[objective-c] objc_exception_throw에 중단 점을 추가하는 방법은 무엇입니까?

이이에 브래드 라슨에서 대답했다
SO의 질문

두 개의 중단 점을 추가하면 이러한 예외를 디버깅 할 수 있습니다. 이렇게하려면 실행 | 표시 | 중단 점을 만들고 두 개의 전역 중단 점을 만듭니다 (모든 응용 프로그램에서 매우 유용하기 때문에 전역 적으로 수행합니다). 첫 번째 이름은 “objc_exception_throw”이고 위치는 “libobjc.A.dylib”여야합니다. 두 번째는 “-[NSException raise]”이고 해당 위치는 “CoreFoundation”이어야합니다.

이제 중단 점이 활성화 된 상태에서 애플리케이션 디버깅을 시작하면 이러한 예외가 발생할 때 중단됩니다. 그러면 디버거 내에서 예외를 유발 한 이벤트 체인을 볼 수 있습니다.

이제이 답변에서 언급 된 위치를 어떻게 추가합니까 ???



답변

나는 Brad의 대답이 매우 분명하다고 생각합니다. 명확하지 않은 경우 도움이 될 수 있기를 바랍니다.

Xcode의 상단 메뉴에서 실행> 표시> 중단 점을 클릭합니다. 새 창이 나타납니다.

왼쪽 메뉴에서 “전역 중단 점”을 선택합니다. “Breakpoint”열 아래 오른쪽에 “Double-Click for symbol”텍스트가있는 상자가 있어야합니다. 이 상자를 한 번 클릭하고 “objc_exception_throw”를 입력합니다.

그런 다음 “location”열 아래의 “objc_exception_throw”옆에있는 공간을 한 번 클릭합니다. 위치를 입력 할 수있는 상자가 나타납니다 (이 경우 “libobjc.A.dylib”). 도움이 될 스크린 샷을 만들었습니다.

대체 텍스트


답변

Xcode 4에서이 훌륭한 중단 점은 중단 점 섹션의 “+”버튼을 통해 추가 할 수 있습니다 (⌘ + 6).

여기에 이미지 설명 입력


답변

Xcode 6-최상위 메뉴에서

디버그> 중단 점> 예외 중단 점 만들기


답변

또한 +[NSException raise:format:arguments:]중단 점을 추가하는 것이 좋으며 그 위치는 CoreFoundation.


답변