ククログ

株式会社クリアコード > ククログ > Firefoxを意図的にクラッシュさせる方法(2017年版)

Firefoxを意図的にクラッシュさせる方法(2017年版)

はじめに

Firefoxの導入時の要件として、クラッシュ時のレポートを送信しないようにするという設定を行う事があります。 この設定が意図通りに反映されているかどうかを確認するために、Firefoxが実際にクラッシュした時の様子を観察したい場合があります。

Firefoxには既知で且つ未修正のクラッシュバグがいくつかあるため、それを突くようなコードを実行すればFirefoxをクラッシュさせる事ができます。しかし、クラッシュバグは再現性が低い物もありますし、そもそも新しいバージョンのFirefoxではクラッシュしないように修正されていることも多いです。安定してFirefoxをクラッシュさせる方法を把握しておけば、Firefoxをクラッシュさせるための方法をその都度あれこれ調べなくても済みます。

以前、Firefoxを意図的にクラッシュさせる方法として js-ctypes を利用してFirefoxをクラッシュさせる方法を紹介しました。今回はその記事の更新版としてより簡単な方法を紹介します。

crashIfNotInAutomationを使った方法

Firefox 55以降では、意図的にクラッシュさせる方法が用意されています。それが Components.utils.crashIfNotInAutomation です。

実際にこれを使ってクラッシュさせるには次の手順を踏みます。

  1. Firefoxを起動する。

  2. about:config を開き、devtools.chrome.enabled の値を true に設定する。

  3. Ctrl-Shift-Jを押すか、「ウェブ開発」メニューから「ブラウザコンソール」を選択してブラウザコンソールをを起動する。

  4. プロンプトに「Components.utils.crashIfNotInAutomation()」を入力してEnterを押下する。

ブラウザコンソール画像

これでFirefoxを実際にクラッシュさせることができます。

まとめ

今回は、Firefoxを意図的にクラッシュさせる最新の方法を紹介しました。 Firefox 55以降で導入された仕組みのため、それ以前のFirefoxではFirefoxを意図的にクラッシュさせる方法で紹介した方法がよいでしょう。1

  1. js-ctypesを使った方法はFirefox 57でも依然として有効です。