개발을 하다가 NSAssert 를 사용했는데,
프로그램이 중단되지 않을 뿐더러,
프로그램이 곧 바로 종료돼버리고 backtrace를 남기지 않았다.
"이럴거면 왜 있는거야?" xcode를 원망하다,
구글링을 해서 아래의 사이트에서 해결방법을 찾았다.
http://www.learn-cocos2d.com/2010/11/art-assertion-pertains-xcode/
objc_exception_throw 심볼을 브래이크 포인트 리스트에 추가하면,
NSAssert 가 발생되면, 해당지점에서 즉시 멈추게 된다.
아래는 브래이크 포인트 리스트에 심볼을 추가하는 방법이다.
1. Breakpoint Navigator 로 이동을 한 후에, 왼쪽 하단의 +버튼을 누른다.
2. +버튼을 누르면 그림과 같이 Add Symbolic Breakpoint 메뉴를 선택한다.
3. Symbolic Breakpoint 에 체크가 돼 있음을 확인하고, 감지할 심볼명 objc_exception_throw를 입력한다.
4. Breakpoint list에 objc_exception_throw가 추가 된 것을 확인할 수 있다. 이제부터 Assert 가 발생하는 지점에서 디버거는 멈추게 될 것이다.
프로그램이 중단되지 않을 뿐더러,
프로그램이 곧 바로 종료돼버리고 backtrace를 남기지 않았다.
"이럴거면 왜 있는거야?" xcode를 원망하다,
구글링을 해서 아래의 사이트에서 해결방법을 찾았다.
http://www.learn-cocos2d.com/2010/11/art-assertion-pertains-xcode/
objc_exception_throw 심볼을 브래이크 포인트 리스트에 추가하면,
NSAssert 가 발생되면, 해당지점에서 즉시 멈추게 된다.
아래는 브래이크 포인트 리스트에 심볼을 추가하는 방법이다.
1. Breakpoint Navigator 로 이동을 한 후에, 왼쪽 하단의 +버튼을 누른다.
2. +버튼을 누르면 그림과 같이 Add Symbolic Breakpoint 메뉴를 선택한다.
3. Symbolic Breakpoint 에 체크가 돼 있음을 확인하고, 감지할 심볼명 objc_exception_throw를 입력한다.
4. Breakpoint list에 objc_exception_throw가 추가 된 것을 확인할 수 있다. 이제부터 Assert 가 발생하는 지점에서 디버거는 멈추게 될 것이다.
'Mobile > iOS 개발 팁' 카테고리의 다른 글
iOS 제스처 목록 (0) | 2012.05.29 |
---|---|
apple Human Interface Guideline - 뷰의 좌표 (Frame, Bound 의 차이) (0) | 2012.05.15 |
iOS 홈 앱아이콘 광택 없애기 (2) | 2012.04.19 |
apple Human Interface Guideline -iOS 아이콘 및 이미지 정리 (0) | 2012.04.18 |
UITableView 헤더뷰 AutoResizing 주의하기 (0) | 2011.12.11 |