|  |  |
|
난이도 : 중급 Martin Brown, Professional writer, Freelance
원문 게재일 : 2009 년 3 월 31 일 번역 게재일 : 2009 년 5 월 26 일 UNIX® 애플리케이션을 개발하고 있다면 실행 중인 애플리케이션을 추적 및 디버깅하여
필요한 정보를 추출할 수 있습니다. 하지만 UNIX 애플리케이션 내부에서 이루어지는 작업을 알고 싶을
때 소스 코드에 액세스할 수 있는 권한이 없다면 어떻게 하겠습니까? 이 튜토리얼에서는 소스 코드를
수정하지 않고 더군다나 애플리케이션을 중지 및 다시 시작하지도 않으면서 실행 중인 애플리케이션을
추적하여 수행 중인 작업을 확인할 수 있는 몇 가지 시스템에 대해 설명합니다.
시작하기 전에
이 튜토리얼의 대상 독자는 시스템에서 실행 중인 애플리케이션에 대한 문제를 가장 효과적으로
해결할 수 있는 방법을 찾고 있는 UNIX 시스템 개발자 및 관리자이다. 이 튜토리얼을 이해하려면
UNIX 운영 체제 및 작동 방법에 대한 기본 지식이 있어야 한다. 기본적인 프로그래밍 경험은 도움이
되기는 하지만 필수 사항은 아니다.
이 튜토리얼의 정보
대부분의 관리자와 시스템 관리자는 운영 체제 및 애플리케이션에서 어떤 작업이 진행되고
있는지 알고 있기는 하지만 아쉽게도 항상 그런 것은 아니다. 애플리케이션에서 오류가 발생하거나
애플리케이션이 예상대로 작동하지 않을 경우에는 자세한 정보를 찾아야 한다. 애플리케이션의
작동 방식에 대한 사용자의 지식과 몇 가지 기본적인 UNIX 스킬을 바탕으로 애플리케이션을 추적하여
문제의 원인을 찾을 수 있다. 이 튜토리얼에서는 추적 도구를 사용하여 백그라운드에서 실행되고
있는 애플리케이션의 작업을 확인하는 기본적인 기술을 설명한다.
이 튜토리얼에서는 먼저 디버깅과 추적의 차이점을 살펴본 후 두 가지 솔루션이 어떻게
다른지 설명한다. 그런 다음 추적 기능을 사용하여 애플리케이션의 문제점을 해결하는 몇 가지
구체적인 예제를 살펴본다. DTrace는 시스템 추적 및 디버깅 요소를 둘 다 제공하며 애플리케이션의
실행 시간을 측정하고 벤치마크를 수행할 수 있는 기능도 제공한다. 마지막으로 네트워크
컴퓨터 간에 교환된 정보를 추적하여 네트워크 애플리케이션의 문제점을 찾는 방법을 보여 준다.
|  |
|