2010-08-23 4 views

답변

3

당신이 말하는 것은 Stack Trace입니다.

스택 추적 정의 :

스택 추적은 일반적으로 예외가 가 발생했을 때의 을 활용할 수 있습니다 유용한 디버깅 도구입니다. 현재 현재 실행 스레드의 실행 기록에 정보를 제공하며 의 클래스와 메소드를 내에 표시하고 해당 예외가 발생한 시점을 이라고합니다.

다음 질문에 대한 답변은 "How can one grab a stack trace in C?"입니다.

+1

하나를 사용하여 로그를 분석하지만, C++ 스택 검사 메커니즘의 휴대용 구할 수에 대한 어떤 기능을 제공하거나 보장하지 않는다는 것을 주목할 필요가 –

+0

@ 토니 : 설명 주셔서 감사합니다. –

+0

아마 심벌 정보가있는 빌드에서만 그렇게 단순하게 작동합니다. 기호 정보가없는 릴리스 빌드 인 경우 더 많은 노력이 필요합니다. – Chubsdad

1

으로 일 것보다 간단하고 일반적인 방법은 다음과 같습니다

A) 예를 들어, 특정 환경 변수 (런타임 조건에 따라 추적 출력을 사용)/디버그 스위치

b)는 엔트리를 기록하고 스레드 ID와 함께 각 함수를 종료합니다 (다중 스레드 응용 프로그램을 처리하기 위해). 이를 위해 __FILE__ and __LINE__ 사전 처리기 지시어를 사용하십시오.

C) 좋은있는 LogViewer 응용 프로그램 (Windows의 예 DebugView와) 이것에 대한

관련 문제