백트레이스(Backtrace)는 주로 프로그램의 오류가 발생했을 때, 그 오류의 원인을 추적하고 분석하는 데 사용되는 기술 또는 정보를 의미한다. 프로그래밍에서 백트레이스는 함수 호출의 경로를 기록하여, 특정 시점에서 어떤 함수들이 호출되었는지를 보여준다. 이는 디버깅 과정에서 매우 중요한 역할을 하며, 문제가 발생한 위치와 그 이전에 실행된 코드의 흐름을 이해하는 데 도움을 준다.
백트레이스는 일반적으로 스택 트레이스(Stack Trace)라고도 불리며, 스택 메모리에 저장된 함수 호출의 정보를 나열하는 형식으로 제공된다. 오류가 발생한 시점에서의 함수 호출 목록은 최상위 함수에서부터 시작하여 호출된 순서대로 나열된다. 이 정보를 통해 개발자는 직접적인 오류 발생 지점뿐만 아니라, 해당 오류가 발생하기까지의 함수 호출 관계를 파악할 수 있다.
백트레이스는 주로 예외 처리(exception handling)와 관련이 있으며, 각 프로그래밍 언어는 백트레이스를 제공하는 방법이 다를 수 있다. 예를 들어, Java, Python, C++와 같은 언어에서는 각각의 오류와 예외 발생 시에 백트레이스를 자동으로 생성하여 출력해 주며, 이를 통해 개발자는 문제를 보다 쉽게 찾아낼 수 있다.
디버깅 도구나 로깅 라이브러리에서도 백트레이스 기능을 제공하므로, 복잡한 소프트웨어 개발 과정에서 발생할 수 있는 여러 가지 문제를 해결하는 데 있어 매우 유용하다.