d3ro-voice/.claude/skills/debug-electron/SKILL.md
Yun Chan d0c4f9ee53 Phase 14 구현: 회의 모드 (Meeting Mode)
실시간 녹음 + 타임스탬프 메모 + STT 전사 + LLM 구조화 회의록 + PDF/MD 내보내기.
CaptionService 연동, 동시 사용 충돌 방지, 긴 회의 2-pass 요약 지원.
DB 2테이블, IPC 15채널, UI 3뷰(목록/녹음/상세), 12개 locale i18n.
2026-04-08 01:16:52 +09:00

1.8 KiB

name description allowed-tools
debug-electron Electron 앱 디버깅. IPC 문제, 메모리 누수, 렌더러 크래시 등 진단. Read Grep Glob Bash Edit

Electron Debug

증상 또는 에러 메시지를 받으면 아래 진단 흐름을 자동 실행합니다.

0. 자동 진단 파이프라인

증상 분류 → 해당 섹션 실행 → 원인 보고 → 수정 제안

  1. 로그 수집: npm run dev 출력 또는 electron-log 파일 확인
  2. 에러 분류: IPC / 오디오 / 메모리 / 렌더러 크래시 / 빌드
  3. 해당 섹션 진단 실행
  4. 원인 + 수정 방안 보고

IPC 문제 진단

자동 실행할 검증 체인:

  1. shared/ipc-channels.ts에서 문제 채널 Grep → 채널 정의 존재?
  2. src/main/ipc/에서 해당 채널 핸들러 Grep → ipcMain.handle/on 등록?
  3. src/preload/index.ts에서 contextBridge.exposeInMainWorld Grep → 브릿지 노출?
  4. src/renderer/에서 window.electronAPI.* 호출 Grep → 렌더러 사용?
  5. 1~4 중 끊어진 체인 지점이 원인

오디오 문제 진단

  1. SoX 경로 확인: src/main/utils/paths.tsgetSoxPath 읽기
  2. AudioCaptureService 설정 확인: sampleRate 16000, noiseSuppression false
  3. faster-whisper sidecar 프로세스 상태: tasklist | grep python
  4. 마이크 권한: Electron systemPreferences.getMediaAccessStatus('microphone')

메모리 누수 진단

  1. useEffect cleanup 누락 Grep: useEffect 있는데 return 없는 패턴
  2. IPC 리스너 제거 누락: ipcRenderer.on 대비 removeListener/removeAllListeners 검색
  3. BrowserWindow destroy 확인: close 이벤트에서 destroy() 호출 여부

빌드/타입 문제

  1. npm run typecheck 2>&1 | head -30 실행
  2. 에러 파일/라인 추출 후 해당 코드 Read
  3. 원인 분석 후 수정 제안