WebAssembly 디버깅용 CMake 설정

크롬 개발자 도구에서 WASM 디버깅을 하려면 디버깅 정보와 최적화 비활성화가 필요하다.

1
2
add_compile_options(-g -O0)  # 디버깅용 (최적화 없음)
add_link_options(-g -O0) # 디버깅용 (최적화 없음)
  • -g : 디버깅 정보를 생성해 소스 코드 단위 디버깅 가능.
  • O0 : 최적화를 끄고 원래 코드 구조 유지.

최적화를 커면 컴파일러가 코드를 재배치하거나 생략하기 때문에, 디버깅 시 변수값 추적이 어려워진다.
따라서 WASM 디버깅을 할 땐 -O0로 최적화를 끄고, 크롬 개발자 도구를 활용해 중단점 설정, 변수 확인 등을 진행해야 한다.

자세한 내용은 크롬 공식 문제 참고.