필자가 github를 통해서 제공하는 자바스크립트 두 가지 패키지 모두 npm과 관련된 버그가 픽스 되었다.
각각 npm package 버전이 업데이트 되었고, nuget은 금주 중으로 패키지를 재배포 할 예정이다.
또한, Unity 게임 개발 및 Mono 개발에 필요한 MonoDevelop 한국어 버전도 몇 주 전 최신 저장소 코드로 업데이트가 완료 되었다.

Bugs related to npm both packages provided the author through the github has been fixed.
npm is updated each, nuget is a plan to re-distribute the package later in the week.
In addition, the update is complete code of the store also MonoDevelop Korean version a few weeks ago.


MonoDevelop 한국어 버전을 제공하면서 발생하는 (나만 알고 있는..) 한 가지 문제가 있는데, 아직 해결하지 못한 상태이나 곧 업데이트 후 push 예정이다. 벤더가 직접 배포하는 Xamarin Studio를 쓰는 분들은 MonoDevelop 소스 저장소에 머지되기 전에는 해결되지 않을 예정이다.

그리고 azure 클라우드를 통해 호스팅되는 monodevelop-korea.com 사이트가 곧 복구될 예정이다. (생각 없는 클릭 한 방이 사이트를 날려 버린답니다. ㅠㅠ)

Posted by 땡초 POWERUMC

댓글을 달아 주세요

  1. wlthd 2014.02.21 13:30 Address Modify/Delete Reply

    역시 대단하시네요. 좋은 하루 되세요.

  2. mizix 2014.04.08 16:01 Address Modify/Delete Reply

    monodevelop-korea.com 사이트가 어서 복구되기를....

[GDB] Hopper Disassembler 앱

C++ 2014.02.12 02:21 |

필자는 소프트웨어 개발에 필요한 앱은 라이선스를 구매해서 쓴다. 자랑은 아니지만 앱스토어와 그 외 구매한 앱의 개수가 200개가 넘어간다. 히힣; 오늘 소개하는 앱 처럼 제값어치 하는 앱에겐 뭔가 모를 희열을 느낀다. 여성분들이 쇼핑을 좋아하는 것처럼 -0-

Hopper Disassembler

이 앱은 윈도우의 WinDbg, 그리고 GNU gdb처럼 디버거 명령줄(Command Line)에 익숙하지 않은 디버거에게 유용한 앱이다. 몇 달 전, Objective-C with LLVM 어셈블리 코드를 분석하기 위해 구매했다. Objective-C 내부적인 언어적 매커니즘을 이해하기 위해 역어셈블리 분석은 필수이기 때문이다. 그 중 이 앱은 기대한 것 보다 기능은 적지만, 사소한 곳에서 감동을 주는 앱이라 생각된다.

역어셈블리 앱 중 윈도우에선 OllyDbg 가 있다면, 맥에서는 바로 이 Hopper Disassembler 가 있다. OllyDbg는 작지만 기능에 충실한 서민적인 앱이라면, Hopper Disassembler는 비주얼적인 면이 좀 더 부각된 매니아 앱 같다. 기능적인 면에서 Hopper Disassembler가 조금 떨어지긴 하지만, 맥에서 이 정도면 충분히 쓸만하다고 판단된다.

특히 Hopper Disassembler는 윈도우, 맥 그리고 리눅스까지 지원하는 효자 앱이다. 이 세 가지 운영체제 버전을 모두 구입해도 12만원 정도면 된다. 더 고가의 프로페셔널한 상용 버전에 비하면 저렴한 편에 속한다. 필자처럼 맥, 리눅스, 윈도우, 이렇게 여러 운영체제를 사용한다면 Hopper Disassembler는 충분히 매력적이다.

앱 훑어보기

Hopper Disassembler 런타임(runtime) 디버깅을 하려면 전용 디버거 서버 앱을 사용해야 한다. 그러니까 클라이언트-서버 구성으로 Remote(or Pipe) 통신으로 디버깅을 진행하는데 이 인터페이스가 썩 좋지만은 않다.

클라이언트/서버로 구성

아래의 스크린샷 처럼 메인 윈도우, 서버 에이전트, 어셈블리 레지스터 윈도우 이렇게 세 개를 띄어야 한다. 멀티 모니터에서는 장점이 될 수도 있고, 싱글 모니터에서는 단점이 될 수 있다.



비주얼 및 기타

디버거 앱 답지 않게 좀 더 다양한 색상을 사용하였지만, 거부감 없이 알아보기 더 쉽다. Flow Graph와 Pseudo Code도 비교적 깔끔하다. 초기에 사용할 일이 잦지만 Objective-C의 기계어(?) 코드 스타일에 익숙해 지다보면 거의 사용하지 않는 번들 기능 중 하나다. Objective-C with LLVM 구성인 경우 .NET과 Java와 같이 가상머신(virtual machine)에서 동작하지만, 이보다 좀 더 하위 레벨인 LLVM 컴파일 바이너리는 거의 일관적으로 유사성이 있기 때문이다.

검색 기능과 참조된 주소를 분석하는 기능은 기대 이상으로 빠르고 정확하다. 특히 call, je, jne, jmp 그리고 meta data, symbols, 마지막으로 xref 등을 쉽게 찾아가거나 검색할 수 있다. xref의 참조 주소의 원본을 툴팁으로 보여주는 등 예상하지 못한 곳에 꼼꼼한 비주얼을 보여준다.

눈안의 가시, 버그

일부 코드를 디버깅 하다보면 특정 인스트럭션(instructions)에서 Step Over를 Step Into로 동작하는 경우가 발생한다. 이게 은근히 신경을 곤두세우는데 아직까지 별다른 패치나 업데이트가 없고, 앞으로도 없을 것 같다. 필자는 이 버그와 앱의 가격과 협상했지만, 보다 세세한 디버깅을 제어해야 한다면 다른 앱(gdb? -_-)을 사용하는 것이 좋을 것 같다.

Posted by 땡초 POWERUMC

댓글을 달아 주세요