最近 Mozillaがツールをリリースしました、新しいウェブサイトからリリースされました (リンクはこちら)。 と呼ばれる Firefoxリプレイ、 Mozillaはそれを 新しいデバッグツール これはFirefoxのNightlyバージョンにすでに含まれていますが、現時点ではMacOSでのみ使用できます。
「ウェブリプレイ」 Firefoxコンテンツプロセスが動作を記録し、後で再現できるようにするプロジェクトです。 前の状態に巻き戻します。 再生プロセスは、記録中に発生したのと同じJS動作、DOM構造、グラフィカル更新、およびその他のほとんどの動作を保持します。 ブラウザのJSデバッガを使用して、再生を検査および制御できます。
Mozillaはそれを言います 再生機能のタイムラインには、さまざまなポイントがリアルタイムで表示されます。 例外、イベント、ネットワークリクエストなど、「再生の一時停止と検査」を簡単に行うことができます。
また、 再生機能は開発者が使用する必要があります。 再生機能の記録を保存して読み取ることができます。
Web開発で発生するエラーは、必ずしも再現しやすいとは限らないため、他人が確認しにくく、デバッグ作業が遅くならない場合がありますが、再生機能を使用して操作を記録し、記録を共有する場合他の人と一緒に、効率も優れています。
Firefox Replayのようなツールを含めることで、Mozillaはより多くの開発者を引き付けることができます お使いのブラウザに。 これにより、Firefoxでテストされるサイトの数が増えます。
これにより、より良いエクスペリエンスが提供されます。ライバルのブラウザに切り替えたであろう通常のFirefoxユーザー向けです。 Firefox Replayホームページの概要に加えて、Mozilla開発者サイトでより詳細な情報を見つけることができます。
実際には、次の領域で複製が許可されています。
- IPCおよびデバッガコンポーネントはヒープ割り当てを行うことができるため、記録と再生で異なる場合があります。
- JSビルドおよびその他の内部状態は、デバッガーの存在およびアクティブな接続/ブレークポイントの影響を受けるため、記録と再生で異なる場合があります。
- デバッガーはGC要素を割り当てることができ、他のGC要素の割り当てはデバッガーの存在下で異なる場合があります。 たとえば、スクリプトのコンパイルにはマッピングが含まれます。
さらに、高度なオプションも可能です。
- devtools.recordreplay.enableRewinding 無効にすると、Firefoxはページを大幅に高速に登録します。 デフォルトはtrue .
- devtools.recordreplay.fastLogpoints 有効にすると、FirefoxReplayはログポイントを連続して評価します。 このモードでは、記録ポイントに副作用があったり、他の方法で記録から逸脱したりすることはできません。 デフォルトではfalseです。
- devtools.recordreplay.logging 有効にすると、Firefoxは端末の内部再生アクションをログに記録します。これはデバッグがハングしたりクラッシュしたりする場合に役立ちます。 デフォルトはfalse
これまでのところ、WebReplayはFirefoxのNightlyバージョンに含まれています。、より安定するまで。 この機能は含まれていますが、デフォルトでは無効になっていますが、 「devtools.recordreplay.enabled」設定で有効にできます。
[ツール]-> [Web開発者]メニュー、および[記録と再生]タブが表示されたときに有効になる新しいデバッグインターフェイスからアクセスする機能。
冒頭で述べたように これまでの展開作業はmacOSで行われていますが、 でもモジラ Windows用のバージョンでツールを実装するためにすでに取り組んでいます。 Linuxの場合は何も言及されていませんが。
さてMozilla 他のシステムで機能するコメントを見つけるのは難しい インターセプトするように設定されたシステムライブラリAPI、巻き戻しインフラストラクチャのメモリ管理とダーティメモリ部分を機能させること、およびさまざまなプラットフォームでさまざまなグラフィックスとIPCパスを処理すること。