GDB 디버깅 준비하기
카테고리
툴체인이 준비되면 모든 도구가 준비되었다고 볼 수 있습니다.
이제 디버깅해야 할 실제 타겟을 디버깅할 수 있도록 준비해봅시다.
컴파일러 옵션 조정
참조: Linux Foundation 2020 Conference
먼저, C나 C++ 소스 코드를 컴파일할 때 위 다이어그램에 표시된 것처럼 -g 옵션이나 -gN 옵션을 추가하여 소스 코드 디버깅 정보와 같은 다양한 정보를 ELF 파일에 포함시킵니다.
-ggdbN을 사용하면 표준 DWARF 형식 대신 gdb 형식을 사용하여 ELF를 생성합니다.
일반적으로 -g만 추가하면 ELF에 -g2와 동등한 레벨이 부여됩니다.
참조: Linux Foundation 2020 Conference
다음으로 최적화 옵션을 조정해야 합니다.
최적화가 활성화되면 컴파일러가 코드 로직을 분석하고 동일한 결과를 생성하는 다른 실행 코드를 생성할 수 있으므로 디버깅 중에는 최적화 옵션을 제거해야 합니다.
-O0 옵션을 사용하거나 GDB 호환 최적화 옵션을 위해 -Og를 사용하세요.