C/C++ 코드를 AI로 분석·디버깅하는 Linux 전용 CLI 도구
리눅스 터미널에서도 VSCode 수준의 디버깅 경험을 제공합니다. 저장과 동시에 AI가 코드를 분석하고, 문제 원인과 해결책을 직관적으로 제공합니다.
DebugMate는 Linux 환경 전용 C/C++ AI 디버깅 CLI입니다. 복잡한 컴파일·실행·로그 분석 과정을 자동화하고 Google Gemini 모델을 활용해 잠재적 문제를 진단하며 수정 방안을 제시합니다. 개발자는 코드 작성에 집중하고 DebugMate가 디버깅을 지원합니다.
왼쪽: 코드 편집 / 오른쪽: AI 분석 결과
-
tmux 분할 화면 실행:
debug-mate debug <file>을 실행하면 좌측에vi편집기가, 우측에 AI 분석 화면이 열린다. -
파일 저장 이벤트 감지: 사용자가
:w로 저장하면,watch-and-debug.sh가 이를 감지한다. -
inprogress-run.ts 호출: 파일 저장 이벤트가 감지되면
inprogress-run.ts가 실행된다. -
초기 해석 (beforeDebug): 가장 먼저
beforeDebug모듈이 호출되어 코드에 대한 AI의 초기 해석 및 전반적 진단을 사용자에게 제공한다. -
자연어 요청 처리: 사용자가 “이 변수의 흐름을 보고 싶어”와 같이 자연어로 요청하면
DebugAgent가 의도를 분석한다. -
심층 분석 실행:
DebugAgent는 의도에 따라 적합한 모듈을 호출한다.afterDebug: 컴파일/런타임 로그 기반 종합 분석traceVar: 특정 변수의 선언 → 변경 → 최종 값 추적loopCheck: 반복문 종료 조건 및 무한 루프 여부 확인
-
결과 출력: 분석 결과는 우측 패널에 구조화된 형식(Result / Reason / Suggestion)으로 제공된다.
즉, 저장 → 초기 해석 제공 → 자연어 요청 → 심층 분석 → 결과 출력의 순환 구조로 사용자가 직관적으로 AI와 협업하며 디버깅할 수 있다.
DebugMate/
├─ debug-mate-cli.js # CLI 엔트리포인트 (명령어 파싱, tmux 관리)
├─ watch-and-debug.sh # 파일 저장 이벤트 감지 및 분석 실행
├─ generate-test.sh # 테스트 코드 자동 생성 스크립트
├─ src/
│ ├─ analysis/ # 코드 분석 모듈
│ │ ├─ afterDebug.ts # 종합 코드 분석
│ │ ├─ beforeDebug.ts # 초기 해석 제공
│ │ ├─ DebugAgent.ts # 자연어 요청 라우팅
│ │ ├─ inprogress-run.ts # 저장 이벤트 파이프라인
│ │ ├─ loopCheck.ts # 반복문 분석
│ │ └─ traceVar.ts # 변수 추적
│ ├─ config/
│ │ └─ SGlobal.ts # 전역 설정
│ ├─ parsing/ # 파서 모듈
│ │ ├─ codeParser.ts
│ │ ├─ compilerResultParser.ts
│ │ └─ loopExtractor.ts
│ ├─ prompts/ # 프롬프트 템플릿
│ │ ├─ prompt_afterDebug.ts
│ │ ├─ prompt_debugAgent.ts
│ │ ├─ prompt_loopCheck.ts
│ │ └─ prompt_traceVar.ts
│ └─ services/
│ └─ compile.ts # GCC 빌드 및 실행 관리
├─ .tmux.conf # tmux 설정
├─ tsconfig.json
├─ package.json
├─ README.md
└─ 기타 환경 파일(.env, .gitignore 등)
- tmux 분할 화면: 좌측 vi 편집기, 우측 AI 분석 결과 실시간 표시
- 자동 분석: 파일 저장 시
beforeDebug가 즉각 초기 해석 제공 - 자연어 기반 심층 분석:
DebugAgent가 afterDebug / traceVar / loopCheck 중 적절한 모듈 실행 - 테스트 코드 자동 생성: 9가지 유형의 C 테스트 코드 생성
- 의존성 자동 체크: gcc, tmux, inotify-tools 등 필수 패키지 검증 및 설치 안내
|
강유영 |
박지민 |
이문정 |
임소현 |

