최근에 Mozilla는 도구를 출시했습니다, 새 웹 사이트를 통해 출시되었습니다. (링크는 이쪽). 부름 파이어폭스 리플레이, Mozilla는이를 새로운 디버깅 도구 Firefox의 Nightly 버전에 이미 포함되어 있지만 현재로서는 MacOS에서만 사용할 수 있습니다.
"웹 재생" Firefox 콘텐츠 프로세스가 동작을 기록하고 나중에 재현 할 수있는 프로젝트입니다. 이전 상태로 되감습니다. 재생 프로세스는 동일한 JS 동작, DOM 구조, 그래픽 업데이트 및 레코딩 중에 발생한 대부분의 기타 동작을 유지합니다. 브라우저의 JS 디버거를 사용하여 재생을 검사하고 제어 할 수 있습니다.
Mozilla는 다음과 같이 말합니다. 재생 기능의 타임 라인은 다양한 지점을 실시간으로 보여줍니다. 예외, 이벤트 및 네트워크 요청과 같이 "재생을 일시 중지하고 검사"하기가 쉽습니다.
또한, 리플레이 기능은 개발자가 사용해야합니다. 재생 기능의 기록을 저장하고 읽을 수 있습니다.
웹 개발에서 발생하는 오류는 항상 재현하기 쉬운 것은 아니므로 다른 사람이 확인하기 어렵고 디버깅 작업이 느리게 진행되지 않을 수 있지만 재생 기능으로 작업을 기록하고 기록을 공유 할 때 다른 사람들과 함께 효율성도 우수합니다.
Firefox Replay와 같은 도구를 포함함으로써 Mozilla는 더 많은 개발자를 유치 할 수 있습니다. 브라우저에. 이렇게하면 Firefox에서 테스트되는 사이트 수가 늘어납니다.
이것은 더 나은 경험을 제공 할 것입니다.라이벌 브라우저로 전환했을 일반 Firefox 사용자를위한 것입니다. Firefox Replay 홈 페이지 개요 외에도 Mozilla 개발자 사이트에서 더 자세한 정보를 찾을 수 있습니다.
실제로 다음 영역에서 복제가 허용됩니다.
- IPC 및 디버거 구성 요소는 힙 할당을 수행 할 수 있으므로 기록과 재생이 다를 수 있습니다.
- JS 빌드 및 일부 기타 내부 상태는 디버거의 존재 및 활성화 된 연결 / 중단 점의 영향을 받으므로 레코딩과 재생간에 다를 수 있습니다.
- 디버거는 GC 요소를 할당 할 수 있으며 다른 GC 요소의 할당은 디버거가있는 경우 다를 수 있습니다. 예를 들어 스크립트 컴파일에는 매핑이 포함됩니다.
또한 고급 옵션도 허용합니다.
- devtools.recordreplay.enable되감기 비활성화되면 Firefox는 훨씬 빠르게 페이지를 등록합니다. 기본값 true .
- devtools.recordreplay.fastLogpoints 활성화되면 Firefox Replay는 로그 포인트를 연속적으로 평가합니다. 기록 포인트는이 모드에서 부작용을 일으키거나 다른 방식으로 기록에서 벗어날 수 없습니다. 기본적으로 false입니다.
- devtools.recordreplay.logging 활성화되면 Firefox는 터미널에 내부 Replay 작업을 기록합니다. 이는 디버깅 중단 및 충돌시 유용합니다. 기본 거짓
Web Replay는 지금까지 Firefox의 Nightly 버전에 포함되었습니다., 더 안정 될 때까지. 기능이 포함되어 있지만 기본적으로 비활성화되어 있지만 "devtools.recordreplay.enabled"기본 설정으로 활성화 할 수 있습니다.
도구-> 웹 개발자 메뉴 및 기록 및 재생 탭이 표시 될 때 활성화 된 새로운 디버깅 인터페이스를 통해 액세스 할 수있는 기능.
처음에 언급했듯이 지금까지 배포 작업은 macOS에서 이루어졌습니다. 하지만 Mozilla 이미 Windows 용 버전에서 도구를 구현하기 위해 노력하고 있습니다.. Linux의 경우 언급 된 내용이 없습니다.
잘 Mozilla 다른 시스템에서 작동하는 주석은 발견하기 어렵습니다. 가로 채도록 설정된 시스템 라이브러리 API, 되감기 인프라의 메모리 관리 및 더티 메모리 부분이 작동하도록하고 서로 다른 플랫폼에서 서로 다른 그래픽 및 IPC 경로를 처리합니다.