근데 또 심볼을 추가하는 옵션이 있긴한데 도대체 무슨 차이일까?
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을 디버깅해보자.
요차이군요 ㅎ 다보임~
댓글 없음:
댓글 쓰기