나만의 Linux 디버거 만들기: 1부 - 시작하기
2025-04-25
이 글은 10부작 시리즈의 첫 번째 부분으로, 처음부터 Linux 프로그램 디버거를 만드는 방법을 알려줍니다. 디버거의 핵심 메커니즘을 배우고 실행 시작, 중지, 계속, 중단점 설정(메모리 주소, 소스 코드 줄, 함수 진입), 레지스터 및 메모리 읽기/쓰기, 단계별 실행 등의 기능을 구현합니다. 이 튜토리얼에서는 C/C++, Linenoise, libelfin을 사용하며 각 파트의 코드는 GitHub에서 확인할 수 있습니다. 이후 파트에서는 원격 디버깅, 공유 라이브러리 지원, 식 평가, 다중 스레드 디버깅 등의 고급 주제를 다룰 것입니다.
개발