Addr2line
addr2line 은 디버그 정보를 이용해서 파일명과 행 번호를 얻는다.
How to use
프로그램은 미리 디버그 정보를 포함하도록 컴파일해야 한다. GCC에서는 -g
옵션을 사용한다.
#include <stdio.h>
void func(void)
{
printf("func call\n");
}
int main(void)
{
printf(" func addr %p\n", func);
}
컴파일은 아래와 같이 한다.
실행 한다.
가장 간단한 예제를 살펴보자
Input file 과 주소를 주니, 실행라인이 정확히 출력된다.
함수의 이름도 출력할수 있다.
addr2line 역시 BFD 라이브러리를 이용해서 디버그 정보를 구한다. addr2line 은 주소로부터 파일명과 행 번호를 얻을 수 있다.