컴퓨터 서적 정리/Binary Hacks
[Hack #15] addr2line - 주소에서 파일명과 행 번호 얻기
devanix
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 으로 넘길 수도 있다.
이는 여러 주소를 모아서 처리하고자 할 때 편리하다.