Voltron Installation on OSX 10.13.5

IDA나 PEDA와 같은 편리한 환경에서 디버깅을 하다보니, LLDB는 여간 불편한 것이 아니다.

마치, GDB만으로 해커스쿨 FTZ를 풀던 시절로 돌아간 것 같다고 해야할까?

디버깅의 효율성을 위해, GDB의 PEDA처럼 LLDB를 편하게 만들어 줄 도구가 절실하다.

 

 

위의 그림은 LLDB에서 Voltron(볼트론)을 적용한 화면이다. 원하는 도구인 듯 하다.

Official Site : https://github.com/snare/voltron/blob/master/README.md#quick-start

 

아래부터는 OSX 10.13.5를 기준으로 설치 방법을 정리한다.

 

Voltron은 Python으로 제작되었고, PIP를 통해 쉽게 설치할 수 있다.

 

이후 LLDB를 실행시키고, 볼트론을 구동하기 위한 스크립트를 실행한다.

 

 

그런데, LLDB 만 실행하였을 때와 차이가 없다. 이건 뭐지?

 

 

매뉴얼은 꼼꼼히 읽어보아야 한다.

그림과 같은 디버깅 환경을 만드려면, 볼트론 구동 스크립트를 실행한 후 각각의 터미널에서 위와 같은 명령을 실행시켜야 한다.

결국 위의 그림은 tmux같은 터미널 관리 도구를 이용하여 패널을 나누고, 각 패널에서 위의 명령을 실행한 결과인 것이다.

 

그런데,  디버깅할 때 마다 패널을 설정해 주는 건 너무 귀찮다.

tmuxinator을 사용하면, 이런 불편함을 해소할 수 있다.

tmuxinator를 설치하려면, ruby 와 gem 이 필요하다.

참고자료 : https://subicura.com/2017/11/22/mac-os-development-environment-setup.html

 

tmuxinator를 설치하고, 볼트론을 구동할 때 필요한 설정 파일(yml)을 작성한다.

참고자료 : https://stackoverflow.com/questions/35578562/how-can-i-customize-views-for-lldb-with-voltron/36869207

 

이제 tmuxinator를 이용하여 볼트론을 실행하면, 첫 그림과 같이 분할된 디버깅 환경이 자동으로 구성된다.