Xcode LLDB 디버깅 테크닉

Xcode에 기본으로 내장되어있는 디버거(debugger)인 LLDB는 기존에 가장 많이 사용되던 gdb보다 많은 유용한 기능들을 갖고있다. LLDB 명령어 분석기에는 파이썬(Python) 인터프리터가 내장되어있어서 script 명령어로 파이썬 코드들을 사용할 수 있다. 이 또한 반대로 모든 LLDB API들이 SB(Scripting Bridge) 를 통해서 Python에서도 사용이 가능하도록 되어있다.[^1] 이러한 파이썬과의 연계를 통해서 Xcode 디버깅을 진행 할때 더 세분화된 조건들을 정의하여 브레이크포인트(breakpoint)에 지정할 수 있게되었고, 이런 조건에따라 액션 수행, 브레이크포인트 무시/진행여부 결정 등의 다양한 동작이 가능하다[^2]. 본 글은 애플의 “Advance Debugging with LLDB (WWDC 2013, Session 413)” 발표자료[^3]를 토대로 요약 및 정리한 내용이다. ...

2014년 2월 28일 · 4분 · 665단어

NSSplitView 다중 컬럼 생성

현재 XMLRPC를 이용해서 워드프레스로 리모트 퍼블리싱 하는 맥용 코코아 어플리케이션을 개발중이다. 등록된 계정/글목록/세부내용을 보여주기위해서 맥에서 자주사용되는 애플 기본 메일앱이나 에버노트, Ulysses 등에서 사용되는 3 column 형태로 개발을 진행하는 중이다. 기본적으로 인터페이스 빌더(Interface Builder)에서 NSSplitView를 추가하면 행 또는 열이 2개로 나누어져서 추가된다. 여기서 삽질이 시작되었다. 컬럼 수를 늘리기 위해 IB의 스플릿뷰에대한 옵션을 아무리 찾아봐도 없어서 스플릿뷰의 한쪽에 다시 스플릿뷰를 넣어서 컬럼을 3개로 만들었는데, 아무리 생각해봐도 뭔가 이건 아니다 싶은 느낌이 들었다. 결국 한참을 구글링 한 끝에 IB의 Object Tree 화면에 그냥 NSView를 ‘Split View’ 항목 아래로 끌어다 놓으면 된다는 사실을 발견하고나서 허탈해서 이 글을 포스팅 한다. ‘Split View’ 아래의 subview들 숫자만큼 자동으로 컬럼 수가 나누어질지 누가 알았나 허허. (아래 그림 참조) ...

2013년 7월 25일 · 1분 · 166단어