insforge-debug은(는) 무엇을 하나요?
InsForge 프로젝트의 문제 진단에 사용합니다 — 반응형 오류(SDK 오류 객체, HTTP 4xx/5xx, 게이트웨이 타임아웃 502/503/504, 엣지 함수 실패 또는 타임아웃, 로그인/OAuth/인증 오류, RLS 거부, 실시간 채널 문제, 특정 엔드포인트의 느린 쿼리, 엣지 함수 또는 Vercel 배포 실패), 사전 예방적 감사(보안/RLS 검토, 성능/인덱스 검토, 시스템 상태 점검, 출시 전 준비 상태 확인), 또는 사용자에게 오류가 발생했지만 시작점을 모를 때 사용합니다.
반응형 디버깅
일반 오류 처리
사용자가 구체적인 오류를 가지고 있지만 원인을 모를 때 다음 순서로 진행합니다:
- 정확한 오류 메시지와 발생 컨텍스트 요청
supabase/functions/디렉토리와src/디렉토리 스캔- 브라우저 개발자 도구 콘솔 및 네트워크 탭 확인 (웹 앱의 경우)
- 서버 로그 확인 (
supabase functions logs, Vercel 대시보드)
HTTP 4xx 오류
- 401/403: 인증 또는 RLS 문제 확인.
session객체와 RLS 정책 디버깅 - 404: 엔드포인트 경로, 테이블 이름, 함수 시그니처 확인
- 422/429: 입력 검증 규칙 및 속도 제한 확인
HTTP 5xx 및 게이트웨이 오류
- 502/503/504: 엣지 함수 타임아웃(기본 10초), 메모리 제한, 데이터베이스 연결 풀 고갈 확인
- 500: 엣지 함수 코드, 데이터베이스 연결, 종속성 확인
인증/OAuth 오류
- 공급자 설정, 리디렉션 URL, 세션 관리, 토큰 만료 확인
- PKCE 플로우 디버깅
RLS 거부
supabse/rls/디렉토리와 각 테이블의 RLS 정책 확인- 현재 사용자 역할 및
auth.uid()값 확인
실시간 채널 문제
- 실시간 설정 확인 (
supabase/config.toml) - 채널 구독 상태 및 권한 확인
느린 쿼리
- 데이터베이스 인덱스 확인 (
EXPLAIN ANALYZE) - N+1 쿼리 패턴 탐지
배포 실패
- 엣지 함수: 종속성, 환경 변수, TypeScript 오류 확인
- Vercel: 빌드 로그, 프레임워크 설정, 환경 변수 확인
사전 예방적 감사
보안/RLS 검토
- 모든 테이블의 RLS 정책 활성화 여부 확인
- 공개 접근 가능한 테이블 식별
- RLS 정책의 SQL 인젝션 취약점 확인
성능/인덱스 검토
- 느린 쿼리 식별 (
pg_stat_statements) - 누락된 인덱스 제안 (
CREATE INDEX) - 캐싱 전략 확인 (Redis, CDN)
시스템 상태 점검
- 데이터베이스 연결 상태, 엣지 함수 상태, 실시간 서비스 상태 확인
- 외부 API 의존성 상태 확인
출시 전 준비 상태 확인
- 환경 변수 누락 확인
- CORS 설정 확인
- 속도 제한 및 DoS 방지 확인
- 모니터링 및 알림 설정 확인