티스토리 뷰

공부

Chisel사용해보기

Zedd0202 2018. 10. 23. 18:13
반응형

안녕하세요 :) Zedd입니다.

오늘은..저번에 let us: Go!에서 민소네님이 언급해주신 Chisel을 사용해보려고 합니다.

민소네님이 정리하신 chisel글도 있으니 참고하세요!!!!  커맨드 엄청나게 많이 정리해놓으심

하핫 Chisel을 뭔지 모르시는 분들!! 걱정마세요. 저도 지금 1도 모르지만 공부하려고 하니까 같이 공부해봅시댜


Chisel



Chisel is a collection of LLDB commands to assist in the debugging of iOS apps.

라고 하네요. 

ㅇㅋ..그럼 써봅시다.

아래에 있는 모든 설치과정은 chisel에 나와있으니 참고하세요.



이렇게 간-단하게  Chisel을 설치 할 수 있다고 하네요

brew update를 치니 기부 해달라고 친절히 링크까지!!!!!!!!!!!!!!!!!!!!

 저도 링크 드리겠습니다. 하핫

https://github.com/Homebrew/brew#donations


brew install chisel도 쳐주세여


그리고 


이걸 하라니까 합시ㄷ ㅏ..

touch하고 open하면

띠용


암튼 이상태일텐데

여따가

이걸 넣으라네요.


command script import /usr/local/opt/chisel/libexec/fblldb.py


넣어줍시다. 


그리고 저는 Xcode를 종료하고 다시 켜줬음 ㅋ-ㅋ


그리고 아무데나 breakpoint를 걸어서 



command source ~/.lldbinit


을 수행해줍시다.

그리고 이제 chisel의 커맨드를 쓸 수 있게 되는 거임


chisel의 커맨드 ㅡㅡ 모가있냐



이열

chisel의 커맨드는 WIKI에 다 나와있는데요, 여기서 필요한거 몇개 가져다가 쓰면댐

일단 제가 제일 관심있는 ^_^ 것들만 일단 해보려고 합니다. 

이 글은 차차 업데이트가 되겠네요.

그때그때마다 글에 추가할게요.


암튼 나는 UI적으로 보이는 거면...다 좋은 부분


일단 방금 했던 border를 해볼게요. 

border는 이름만 보면;; 감이 오실텐데요 바로 지정한 view 또는 layer에 border를 그려주는 커맨드 입니다. 



border [--color=color] [--width=width] [--depth=depth] <viewOrLayer>


[] 안에 있는 것들은 optional입니다. <viewOrLayer>만 잘 지정해주면 됩니다.

해볼까요? 


border는 기본적으로..저기 첫번째 그림에서 보다시피 빨간색으로 border가 생성이 됩니다.

근데 내가 색상을 지정해 줄 수 있어요!


border --color (색상이름(영어로)) <viewOrLayer>


이거죠. 방금 해봤는데 cyan도 되네......UIColor가 기본적으로 제공하는 색상을 제공하나봐요..?

그리고 width도 지정 할 수 있는데 



이러케 됩니다. depth는 귀찮으니 지금 안할거.

아 참고로 border 까지만 자동완성을 해주고, 나머지는 다!!!!!!!! 직접 쳐야합니다. ㅎㅋㄹㅎㅋㅎ......ㅋㅎㅎㅎ

border된 것을 지우고 싶다...하며는


unborder [--depth=depth] <viewOrLayer>


니까 

unborder self.myLabel하면 되겠구나~~했는데


왜 안되나요 ^_ㅠ....

결국



메모리 주소를 가져와서 지우니까 됨

먼데 ㅡㅡ


아무튼 그렇고..또 재미난게 모가 있을까요 이걸 마지막으로 오늘 이 글은 마칠려고 하는데


caflush!!! 를 해볼게요. 간단히 말하면 repaint. 

강제로 flush를 해주는 커맨드입니다. 근데 진행중인 애니메이션을 망칠 수도 있다고 하네요. 


커맨드는


caflush


요거 딱 하나..ㅎㅎ 어케 쓰는지 봅시다.



헉....이렇게 작을 줄이야.....................ㅋㅎ...


(lldb) expression self.myLabel.backgroundColor = .red

(lldb) caflush


제가 썼던 커맨드 인데요.

뭐 짤 보면 다 이해가시죠!?! repaint해주는 커맨드~.~

아 참고로 제가 po와 p만 써서..원래 lldb로도 할 수 있는 기능이라면..................

그냥 chisel에 이런 기능이 있다..........라는 것만 봐주세요. ㅎ-ㅎ



 하나만 더 봅시다. visualize.


visualize


UIImage, CGImageRef, UIView, or CALayer를 미리보기 앱으로 열어주는 커맨드 입니다. 

봅시다. 


아니 왜이렇게 작게 되지????? 일부로 크게 잡은건데zzzzzzzzzzz

모니터 때문인가봐요.....



(lldb) visualize self.view


이렇게 했구요 



이걸 치는 순간 이렇게 딱 이미지가 나옵니다. 제가 self.view를 넣어서 이렇게 나온거지...



(lldb) visualize self.myLabel


을 하면?!?


 

ㅎㅎ...저는 이 3개가 제일 재밌네요. 차차 chisel을 알아가는걸로...

ambiguous layout을 간단히 알 수 있게 해주는? 그러니까 지금 뭐가 ambiguous한지 쉽게 알 수 있게 해주는 커맨드도 있는데

코딩하다가 ambiguous layout경고가 뜨면!! 그때 해서 추가할게요 ~.~

도움이 되었길 바래요



반응형