지난 Post에 이어서 Ubuntu에서 Valgrind로 Memory Leak을 검사하는 방법의 활용편으로 Valgrind의 GUI Front-end로 Memory Leak을 검사하는 방법과 Callgrind를 사용하는 간단한 방법, 그리고 Eclipse 내에서 Valgrind를 사용하는 방법을 알아보도록 하겠습니다.
5. 유용한 Front-end
Valgrind를 사용해서 Terminal에서 Memory Leak을 검사하는 방법을 알아봤지만, 아무래도 좀 더 보기 편리하고 사용하기 쉬운 쪽이 생산성이 좋을 것입니다. 그래서 이번에는 Valgrind를 위한 유용한 Front-end를 소개하려 합니다.
5.1. Alleyoop Memory Checker
Alleyoop은 GTK+ 기반으로 만들어진 GUI Front-end입니다. 이 Program은 Valgrind의 Memcheck Tool의 결과를 좀 더 보기 쉽게 표현해 주고 해당 Code를 쉽게 확인할 수 있습니다.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea.
Windows에서 개발을 한 경험이 있는 분들이라면, AQTime(예전 이름은 Memproof)이라는 상용 Tool을 잘 아실 것입니다.
AQTime은 Runtime 검사를 통해서 Application의 Performance를 진단하고 Memory Leak(Heap Memory를 할당했을 경우 사용 후에 System에 반환하지 않아서 발생하는 누수현상)을 검사할 수 있는 유명한 Profiling Tool입니다.
이러한 Profiling Tool을 사용하면 개발자가 미처 파악하지 못한 Application의 문제를 해결하고 Performance를 향상시킬 수 있기 때문에 Project의 안정화 시에 주로 사용됩니다.
이번 Post에서는 이와 비슷한 기능을 Linux에서 수행하는 Command-line Tool인 Valgrind를 통해서 Memory Leak을 검사하는 방법을 알아보도록 하겠습니다.
1. Valgrind?
Valgrind는 앞서 말한 대로 Linux Program의 Profiling을 위한 Application입니다. (지원하는 Platform과 Architecture를 확인하려면 여기를 방문하면 됩니다.) 그리고 License가 GPL이기 때문에 AQTime과 달리 사용하는데 전혀 비용이 들지 않습니다.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea.
이전 Post에 이어서 Borland C++ Builder 6로 작성한 Project를 문서화하기 위해서 Doxygen을 사용하는 방법에 대해 계속해서 알아보겠습니다.
이번 Post에서는 Doxygen의 GUI Configuration Tool인 Doxywizard를 사용하여 편리하게 HTML, CHM 문서를 생성하는 방법을 설명합니다.
4. Doxywizard로 HTML 문서 만들기
Doxygen은 Command-line Tool이기 때문에 Command Interpreter(cmd.exe)를 사용하여 명령행으로 실행해야 합니다. 그리고 Doxygen을 사용하기 위해서는 Doxygen이 문서를 생성하기 위한 Configuration File이 필요합니다.
그러나 Doxygen의 Front-end인 Doxywizard를 사용하면 쉽게 Configuration File 만들 수 있고, 문서도 또한 쉽게 생성할 수 있습니다.
이번에는 가장 기본적인 문서인 HTML 문서를 생성하기 위해 Doxywizard를 사용하여 설정하는 방법과 실제 문서를 생성하는 방법을 알아봅시다.
Doxygen의 수많은 설정 Option을 설명할 수는 없기 때문에 Doxywizard를 처음 실행한 Default Option에서 꼭 필요하거나 설정하면 편리한 Option만 간단하게 설명합니다.
자세한 Option과 설명이 필요하다면 Doxygen Manual의 Reference Manual – Configuration Section을 참고하기 바랍니다.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea.



최근 댓글