본문 바로가기

iPhone developer

“EXC_BAD_ACCESS” 에러 찾기

콘솔에 아래와 같이 찍히고 프로그램이 다운되었다면 




어디서 문제 발생했는지 찾기가 어렵다. 이때 밑에 처럼







Executables의 해당 프로젝트 선택후 info를 선택하여 



Arguments에 디버그와 좀비를 enable 시킨뒤





디버그와 콘솔창을 둘다 띄운다

다시 프로그램 실행후 시뮬레이션을 에러나는상태로 재현한다. 






콘솔창에 에러발생한 메모리주소가 뜨고 






디버그창에 빨간색표시로 에러발생된변수가 표시된다 쓰레드를 해당 메쏘드명선택하여 변수명 변수값을 확인하면 콘솔에 뜬 메모리주소와 같음을 확인할수있다.

위의 경우는 self 를 release시켜주어 발생한 에러였다 생성해준 다른 레이어변수를 릴리즈했어야 했다.

문제발생시 어떤 변수인지 감이 안잡히니 breakpoint는 잡지않았고,  위의처럼 에러발생부분을 좁혀갈수있다.