2011. 7. 3. 23:46

addr2line은 디버그 정보를 이용해서 주소로부터 파일명과 행 번호를 얻는다.

이 때문에 프로그램은 미리 디버그 정보를 포함(gcc -g) 하도록 컴파일 해야 한다.

   

▶ test.c 작성.

#include <stdio.h>

void func() { }

    int main() {

    printf ("%p\n", &func);

    return 0;

}

이를 디버그 정보를 포함하도록 컴파일/ 실행.

   

▷ addr2line을 사용하여 주소에 해당하는 파일명과 행 번호를 출력.

[ -e filename ] :: 실행 파일 지정

   

▷ 함수명과 함께 출력.

[ -f | --functions ] :: 함수명 출력

   

▷ 표준입력으로부터 주소를 addr2line 으로 넘길 수도 있다.

이는 여러 주소를 모아서 처리하고자 할 때 편리하다.

  

Posted by devanix