はじめに
Firefoxの導入時の要件として、クラッシュ時のレポートを送信しないようにするという設定を行う事があります。 この設定が意図通りに反映されているかどうかを確認するために、Firefoxが実際にクラッシュした時の様子を観察したい場合があります。
Firefoxには既知で且つ未修正のクラッシュバグがいくつかあるため、それを突くようなコードを実行すればFirefoxをクラッシュさせる事ができます。しかし、クラッシュバグは再現性が低い物もありますし、そもそも新しいバージョンのFirefoxではクラッシュしないように修正されていることも多いです。安定してFirefoxをクラッシュさせる方法を把握しておけば、Firefoxをクラッシュさせるための方法をその都度あれこれ調べなくても済みます。
以前、Firefoxを意図的にクラッシュさせる方法として js-ctypes
を利用してFirefoxをクラッシュさせる方法を紹介しました。今回はその記事の更新版としてより簡単な方法を紹介します。
crashIfNotInAutomationを使った方法
Firefox 55以降では、意図的にクラッシュさせる方法が用意されています。それが Components.utils.crashIfNotInAutomation
です。
実際にこれを使ってクラッシュさせるには次の手順を踏みます。
-
Firefoxを起動する。
-
about:config
を開き、devtools.chrome.enabled
の値をtrue
に設定する。 -
Ctrl-Shift-Jを押すか、「ウェブ開発」メニューから「ブラウザコンソール」を選択してブラウザコンソールをを起動する。
-
プロンプトに「Components.utils.crashIfNotInAutomation()」を入力してEnterを押下する。
これでFirefoxを実際にクラッシュさせることができます。
まとめ
今回は、Firefoxを意図的にクラッシュさせる最新の方法を紹介しました。 Firefox 55以降で導入された仕組みのため、それ以前のFirefoxではFirefoxを意図的にクラッシュさせる方法で紹介した方法がよいでしょう。1
-
js-ctypesを使った方法はFirefox 57でも依然として有効です。 ↩