나는 몇 가지 질문이 있습니다역 추적은 Linux x86_64에서 어떻게 작동합니까?
- INT 백 트레이스 (무효 ** 버퍼, INT의 크기); 여기서 buffer는 포인터의 배열입니다. 스택의 각 프레임에 대한 리턴 포인트의 배열 요소는 리턴합니다. 그래서 backtrace()는 내부적으로 프레임 수만큼 malloc()을 호출합니까? 왜 이것이 목적입니까?
- 위의 할당 된 메모리는 backtrace()에서 해제되지 않으므로 누가이 메모리를 해제합니까?
- backtrace() 내부에서 malloc()을 피할 수있는 방법이 있습니까?
- 어디에서 backtrace() 소스 코드를 찾을 수 있습니까?
- 어셈블리에서 백 트레이스에 코드를 작성하려면 어떻게해야합니까?
-1 : 내 2008-06-14 맨 (너무 이전 버전)를 명시 적으로 질문 1과 2에 응답 . 설명, 2 단락 : "발신자가 해방해야합니다." – thiton
"내 2008-06-14 맨 페이지"를 어디에서 어떻게 찾을 수 있는지 알려주십시오. – sandeep
'man backtrace'를 모든 리눅스 시스템의 셸 (터미널)에서 실행하십시오. 매뉴얼 페이지는 모든 시스템 및 코어 C 라이브러리 함수에 대한 권위있는 정보 소스입니다. – thiton