개발을 하다가 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 가 발생하는 지점에서 디버거는 멈추게 될 것이다.




+ Recent posts