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 으로 넘길 수도 있다.
이는 여러 주소를 모아서 처리하고자 할 때 편리하다.
'컴퓨터 서적 정리 > Binary Hacks' 카테고리의 다른 글
[Hack #17] ar - 정적 라이브러리 다루기 (0) | 2011.07.04 |
---|---|
[Hack #16] strip - 오브젝트 파일에서 심볼 삭제 (0) | 2011.07.04 |
[Hack #14] c++filt - C++ 심볼 demangle (0) | 2011.07.03 |
[Hack #13] strings - 바이너리 파일에서 문자열 추출 (0) | 2011.07.03 |
[Hack #12] nm - 오브젝트 파일에 포함된 심볼 확인 (0) | 2011.07.03 |