본문으로 건너뛰기

소스맵 원본 복원

Source Map Resolver

제공한 소스맵으로 압축된 스택 트레이스를 원본 파일과 줄 번호로 되돌립니다.

압축된 번들에서 나온 스택 트레이스와 `.map` 파일을 받아, 각 프레임이 원래 어느 파일 몇 번째 줄이었는지 알려 줍니다. 모두 탭 안에서 해독합니다. 맵도, 내부 경로가 그대로 드러나기 쉬운 스택 트레이스도 어디로 나가지 않습니다.

🔒 브라우저 안에서만 처리sourcemapdebugstacktracejavascript

소스맵 (.map)

.map 파일 놓기

이 탭에서 읽습니다. 올라가지 않습니다.

압축된 스택 트레이스

Source Map v3을 이 탭에서 해독합니다. base64-VLQ 매핑, 개발자 도구와 같은 "앞쪽 최대 열" 조회, 그리고 names 표에서 되살린 원래 이름까지 다룹니다. 원본 소스 줄은 맵이 sourcesContent를 품고 있을 때만 나옵니다. 그것이 없는 맵은 위치만 알 뿐 코드는 모릅니다. 파싱되지 않는 프레임 줄은 그대로 통과시킵니다.

사용 방법

  1. 맵을 구합니다

    `.map` 파일 자체를 쓰거나, 번들 맨 아래 `sourceMappingURL` 주석의 `data:` URI를 씁니다. 둘 다 여기에 붙여넣으면 됩니다.

  2. 스택 트레이스를 붙여넣습니다

    오류 리포트에서 그대로 가져오면 됩니다. `Error:` 줄까지 통째로요. 파싱되지 않는 프레임은 사라지지 않고 그대로 통과합니다.

  3. 원본 위치를 읽습니다

    프레임마다 원본 파일과 줄, 열이 나오고, 맵의 `names` 표에 있으면 원래 함수 이름도 함께 나옵니다. 복원된 트레이스 전체는 버튼 하나로 복사합니다.

자주 묻는 질문

원본 줄 내용이 왜 안 나오나요?

맵에 `sourcesContent`가 없기 때문입니다. 그것이 없는 맵은 위치만 알고 거기 무엇이 쓰여 있었는지는 모릅니다. 내 맵에 있는지는 맵 아래 표시에 나옵니다. 코드까지 보려면 경로만 담는 설정 대신 `sourcemap: true`로 빌드하세요.

어떤 프레임에 "이 위치에 매핑이 없습니다"라고 나옵니다.

그 프레임의 열이 어떤 매핑 구간에도 들어가지 않는다는 뜻입니다. 대개 오류를 낸 파일과 다른 빌드의 맵이라는 신호입니다. 새 코드에 옛 맵을 함께 배포했거나, CDN이 캐시된 번들을 주고 있는 경우입니다.

운영 소스맵을 여기 붙여넣어도 되나요?

탭 밖으로 나가지 않습니다. VLQ 해독과 위치 조회를 브라우저에서 합니다. 다만 `sourcesContent`가 든 맵에는 원본 소스가 통째로 들어 있으니, 여기서는 괜찮더라도 어디에 붙여넣는지는 일반적으로 신경 쓸 일입니다.

소스맵 몇 버전을 읽나요?

지금 누구나 내보내는 v3입니다. 아주 큰 번들에 쓰는 `sections` 형태의 인덱스 맵은 지원하지 않습니다. 해당 프레임을 담은 구간의 맵을 따로 넣으세요.

이 도구로 이어지는 것

다음 단계

이 도구의 결과를 그대로 받을 수 있는 도구들입니다.