소스맵은 원인을 고치지 않고 실행 좌표만 되돌린다

런타임은 emit된 JavaScript를 실행한다. debugger는 JS 위치와 map을 결합해 TypeScript 원본 줄을 보여 줄 뿐이며, 외부 입력의 형태나 타입 선언의 진실성까지 검증하지 않는다.

CHECKTypeScript source

tsc --noEmit로 정적 계약을 검사한다.

EMITJavaScript

실제로 실행되는 코드. outDir와 module 형식을 고정한다.

MAP.js.map

생성 위치를 원본 위치와 연결한다. inlineSources는 TS 내용도 담는다.

VIEWdebugger / stack

도구가 map을 읽을 때 TS 파일과 줄 번호로 되돌려 표시한다.

실행 좌표dist/a.js:117:9
표시 좌표src/a.ts:42:11
증상먼저 볼 경계검증 breakpoint 불일치실행 중 JS와 map이 같은 build인가sourceMappingURL, outDir, timestamp stack이 JS 줄runtime이 map 지원을 켰는가Node --enable-source-maps, browser map load undefined 값타입이 아니라 실제 입력 경계JSON·DOM·env에 runtime guard 추가
1 재현
입력·시간·순서 고정
2 artifact
실행 JS·map 식별
3 관측
원본 줄의 실제 값 확인
4 검증
같은 입력으로 회귀 테스트