최신목록

2017년 4월 28일 금요일

[linux][symbol]리눅스 바이너리 심볼 관련 옵션

윈도우즈는 debug/release가 명확한데 linux는 심볼이 일단 그냥 들어가있다. 음...
근데 또 심볼을 추가하는 옵션이 있긴한데 도대체 무슨 차이일까?

gcc compile

> gcc test.c -o nosym.out(기본적으로 심볼이 있다. 제한적인)

> gcc -s test.c -o strip.out(공용라이브러리 정보 외 심볼이 없다)

> gcc -g test.c -o sym.out(심볼이 모두 들어있다)

> gcc test.c
> strip a.out(기본심볼이 들어있었으나 심볼 제거)

위의 결과물이 아래와 같이 나왔다.


이제 차이를 좀 보자.

심볼이 보임
심볼이 없고 공유 라이브러리에 대한 정보정도는 보임
심볼이 보임

-g 를 붙이면 뭘 더 할수 있을까?
nosym.out을 디버깅을 시작해보자. 뭔가 부족함이 느껴지겠지 ㅎ


변수와 소스 등이 심볼테이블이 없다고 보이지 않는다.

sym.out을 디버깅해보자.
요차이군요 ㅎ 다보임~

댓글 없음:

댓글 쓰기