소개
aidbg는 Windows용 GDB 스타일 명령줄 디버거로, AI 코딩 어시스턴트와 스크립트 기반 디버깅을 위해 설계되었습니다. TitanEngine을 기반으로 한 단일 파일 C++17 구현으로, 약 500KB 크기의 x64 릴리스 버전을 제공하며 설치 없이 바로 실행할 수 있습니다. GDB와 유사한 명령어 세트와 JSON Lines 머신 인터페이스를 지원하여 AI와 자동화 도구가 프로세스를 정밀하게 제어할 수 있도록 합니다.
상세정보
GDB 호환 명령어 세트
aidbg는 run, start, continue, stepi, nexti, finish, bt, break, watch, registers, set, x, dump, disas, search, strings, info 등과 같은 GDB와 동일한 명령어 세트를 지원합니다. 각 명령어의 동작은 실제 GDB와의 동작을 검증하여 호환성을 확보했으며, 예를 들어 finish 명령은 호출자가 반환된 후의 지점에서 멈추고, start는 main 함수에서 실행이 시작되도록 합니다.
JSON Lines 머신 인터페이스
–json 플래그를 사용하면 aidbg의 모든 출력이 단일 줄 JSON 객체로 제공되어, AI와 스크립트가 한 번의 파싱으로 이벤트, 결과, 오류 유형을 소비할 수 있습니다. 이 형식은 rip 레지스터에 PDB 심볼 이름을 포함하여 구조화된 디버깅 스트림이 필요한 자동화 환경에 적합합니다.
프로세스 레벨 원샷 명령어
–command 또는 –commands 옵션을 통해 하나의 명령어나 스크립트를 실행할 수 있으며, 각 호출은 독립적이고 깨끗한 상태에서 이루어집니다. 이를 통해 stdin 파이프링, 동시 실행, CI 파이프라인과의 통합이 용이하며, 매번 새로운 디버거 인스턴스를 spawn하지 않고도 스크립트 기반 디버깅이 가능합니다.
세 가지 브레이크포인트 종류 + API 브레이크포인트
소프트웨어 브레이크포인트, 하드웨어 브레이크포인트 (DR0~DR3), 메모리 브레이크포인트 (가드 페이지 기반), 그리고 DLL 내 시스템 API에 자동으로 브레이크포인트를 설정하는 dll!api 형태를 지원합니다. 이는 Windows 특정 디버깅 시나리오에서 정밀한 제어가 가능하도록 합니다.
다운로드·설치 방법
aidbg는 winget 또는 Chocolatey 패키지 관리자를 통해 간단히 설치할 수 있으며, 설치 후 aidbg 명령이 자동으로 PATH에 등록됩니다. TitanEngine.dll은 aidbg.exe와 동일한 디렉터리에 배포됩니다.
winget을 통한 설치
다음 PowerShell 명령을 실행하여 aidbg를 설치할 수 있습니다:
winget install linsmod.aidbg
Chocolatey를 통한 설치
다음 PowerShell 명령을 실행하여 aidbg를 설치할 수 있습니다:
choco install aidbg
수동 다운로드 및 실행
GitHub Releases에서 aidbg-x64-v.zip 파일을 다운로드한 후 압축을 해제하고, aidbg.exe와 TitanEngine.dll을 동일한 디렉터리에 배치하면 별도의 설치 과정 없이 바로 실행할 수 있습니다. 이 방식은 관리자 권한도 필요하지 않습니다.
설치 확인
설치가 완료되면 다음 명령을 실행하여 버전을 확인할 수 있습니다:
aidbg --version
기본 사용법/명령어
aidbg는 GDB와 유사한 방식으로 사용됩니다. 실행 파일을 대상으로 배치 모드에서 명령을 순차적으로 실행하거나, 인터랙티브 REPL 모드로 진입하여 실시간으로 디버깅할 수 있습니다.
배치 모드 사용 예시
다음과 같이 -ex 옵션을 사용하여 여러 명령을 순차적으로 실행할 수 있습니다. 이 방식은 AI와 스크립트가 텍스트 출력을 읽고 다음 동작을 결정하기에 적합합니다:
aidbg.exe --batch -ex "start" -ex "break kernel32!Sleep" -ex "continue" -ex "bt" target.exe
출력은 다음과 같은 일반 GDB 텍스트 형식으로 제공됩니다:
Temporary breakpoint 1, main () at target.c:29 Stopped: breakpoint Breakpoint 2 at 0x00007fff... (kernel32!Sleep) Stopped: breakpoint #0 0x00007fff... in kernel32!Sleep () #1 0x00000001400011b2 in target!main () at target.c:31 #2 0x0000000140001450 in target!mainCRTStartup ()
단일 명령 실행
하나의 명령만 실행해야 하는 경우 –command 옵션을 사용할 수 있습니다:
aidbg.exe --command "bt" target.exe
인터랙티브 사용 (REPL)
다음과 같이 실행 파일을 인자로 주어 aidbg를 실행하면 인터랙티브 셸이 시작됩니다. 여기서 help 명령을 입력하면 사용 가능한 명령어 목록을 확인할 수 있습니다:
aidbg.exe target.exe
이런 경우에 유용합니다
aidbg는 AI 코딩 어시스턴트가 Windows 네이티브 애플리케이션의 실행 상태를 텍스트 기반으로 파악하고 제어해야 하는 상황에서 특히 유용합니다. 예를 들어, AI가 사용자의 코드 오류를 진단하기 위해 대상 프로세스의 스택 추적을 확인하거나, 특정 함수 진입 시 변수 값을 검사해야 할 때, 배치 모드와 JSON 출력을 통해 프로그래매틱하게 디버깅 워크플로를 구성할 수 있습니다. 또한, CI 파이프라인에서 자동화된 회귀 테스트 중 충돌이 발생한 프로세스의 상태를 스크립트로 분석하는 데에도 적합합니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


