Haskell 디버거, GHC 9.14와 함께 출시!
GHC 9.14에서 사용 가능한 Haskell 디버거(Haskell Debugger)가 출시되었으며, 설치 및 설정 방법이 공개됨
VSCode 및 Neovim을 포함한 다양한 에디터(Editor) 지원을 위한 DAP(Debug Adapter Protocol) 설정 가이드 제공
대규모 코드베이스(Large Codebases) 지원을 목표로, 성능 개선(Performance Improvement) 및 멀티 스레드(Multi-threaded) 지원 계획 발표
커뮤니티에서는 GHC에 디버거 포함 여부 및 향후 기능 개발(Future Feature Development)에 대한 논의가 진행됨
Haskell 디버거 설치 및 설정
Haskell 디버거는 GHC 9.14에서 사용 가능하며, `cabal install haskell-debugger` 명령어를 통해 설치할 수 있다. VSCode 사용자는 Haskell 디버거 익스텐션을 설치하고, Neovim 사용자는 nvim-dap를 설치하여 디버거를 설정해야 한다. 디버그 어댑터 프로토콜(Debug Adapter Protocol, DAP)을 지원하는 다른 에디터에서도 설정을 통해 사용 가능하다. 설치 및 설정 과정은 공식 웹사이트에서 확인할 수 있다.
디버거의 주요 특징 및 목표
Haskell 디버거는 대규모 코드베이스(Large Codebases)에서도 안정적으로 작동하도록 설계되었다. GHC 애플리케이션이므로 모든 기능을 지원하며, HLS와 유사하게 hie-bios를 사용하여 cabal 또는 stack 프로젝트에 맞게 세션을 자동 구성한다. 개발팀은 디버거의 견고성(Robustness)을 최우선 목표로 삼고 있으며, 버그 리포트 및 성능 관련 피드백을 적극적으로 받고 있다.
향후 개발 로드맵 및 커뮤니티 피드백
현재 콜 스택(Callstacks) 지원 및 멀티 스레드(Multi-threaded) 지원 기능 개발이 진행 중이다. 개발자는 향후 기능 개발 계획에 커뮤니티의 의견을 반영할 예정이다. 커뮤니티에서는 디버거의 GHC 포함 여부 및 향후 기능 개발(Future Feature Development)에 대한 논의가 활발하게 진행되고 있다. 디버거의 성능 개선 및 사용성 향상에 대한 기대가 높다.
디버깅 성능 개선을 위한 노력
대규모 코드베이스에서 디버깅 시 바이트코드 컴파일 시간(Bytecode Compilation Times) 및 라이브러리 코드의 인터프리터 미지원으로 인한 성능 저하 문제를 해결하기 위해 노력하고 있다. 특히, 바이트코드 아티팩트(Bytecode Artifacts) 작업을 통해 성능 개선을 이루었다. 디버거의 성능 향상을 위해 지속적인 개선이 이루어질 예정이다.