MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Firefox OS クラッシュレポート

このページは Firefox OS でクラッシュレポートを扱う方法を詳解します、それにはクラッシュレポートの取得や、強制クラッシュが含まれます。

記: たいていのデスクトップ版 Firefox の貢献者は about:crashes を使うのに慣れています (詳細はCrash reporting を読んで下さい)、しかしこれは Firefox OS でサポートされていません。

その他のものを試みる前に

下記の手順は、すでにこれら3ステップに従っていると仮定しています:

  1. 端末のリモートデバッグが有効で、ADB がインストールされているのを確認します。これはコンピュータと端末との通信を可能にします。
  2. 端末とコンピュータをUSB経由で接続します。
  3. 必要なポートフォワードを扱う ADB Helper アドオン をデスクトップ版Firefox にインストールします。

BusyBoxをインストールする

BusyBoxユーティリティという、Firefox OSのテストやデバッグに役立つ ADB コマンドを追加するものをインストールするのも推奨されます。

インストールするには、端末がスリープでないのを確認してから:

  1. BusyBoxをダウンロードします
  2. tarballをそれなりの場所に展開します。
  3. 出てきた busybox-b2g ディレクトリに移動します。
  4. ./install.sh を実行してインストールします。

busybox ユーティリティの全ては /system/bin 内にシンボリックリンクを追加します、よって ping などのコマンドを直接使えます。次にサンプルコマンドを挙げます:

adb shell ping 8.8.8.8   => ping command

adb shell ifconfig wlan0 => check tx/rx bytes 

adb shell cat /proc/net/route    => check the default route

adb shell iptables -t nat -nvL   => check if the packets are sent from application to IP layer, check Chain OUTPUT (policy ACCEPT 2 packets, 168 bytes)

Firefox OS 端末からクラッシュレポートを取得する

クラッシュレポートを取得するFirefox OS アプリ — About Crashes — を作りました、これはバージョン 1.2+ で動きます。

端末にこれをインストールするには、次のステップに従います:

  1. About Crashes は認定アプリなので、認定アプリのデバッグを有効にします (アプリマネージャWebIDE用の操作方法を見ます)。
  2. About Crashes アプリのzip ファイルを上記リンクからダウンロードしてローカルに展開します。
  3. デスクトップ版Firefox で、アプリマネージャWebIDE (お使いのFirefox バージョンによります) を開きます、場所は ツール> Web 開発。
  4. いずれのツールでも、About Crashes アプリをパッケージアプリに追加します (アプリマネージャ: Add Packaged App オプションの隣のプラス記号をクリック、WebIDE: 左側のドロップダウンメニューで Add Packaged App... を選択)。
  5. 端末をアプリマネージャ/WebIDEに接続します (アプリマネージャ: UIの底部にある一覧から見つける、WebIDE: Select Runtimeから見つける)。
  6. 端末にアプリをインストールして開く (アプリマネージャ: アプリの Update ボタンを押す、WebIDE: "Play" ボタンを押す(Install and Run))。
  7. 端末でAbout Crashes の中のUpdate ボタンを押して最も最近のクラッシュを見る。

コマンドラインでクラッシュIDを取得する

クラッシュIDをコマンドライン経由で取得でき、そうするにはターミナルで次のコマンドを入力します:

adb shell ls -l /data/b2g/mozilla/Crash\ Reports/submitted/

クラッシュの一覧が長くて日付順にソートしたい場合、代わりに次のコマンドを使います:

adb shell busybox ls -ltr /data/b2g/mozilla/Crash\ Reports/submitted/

クラッシュレポートを取得・検証する

クラッシュレポートを検証するには:

  1. 拡張子なしのファイル名をコピーします。
  2. Mozilla Crash Reportsに移動します。
  3. 拡張子なしのファイル名を右上の検索ボックスにペーストします。

これで送信済みのクラッシュレポートが表示されます。

クラッシュを強制する方法

Firefox OS システムのクラッシュを引き起こすには、ターミナルで次のコマンドを入れてroot のプロセスIDを見つけます:

adb shell ps | grep b2g

最初の行に root のある行を、そして/system/b2g/b2g を最後に見つけるでしょう。次のように見えるはず:

root 109 1 191120 66024 ffffffff 400fa330 S /system/b2g/b2g

行の最初の数字は、プロセスをkill(強制停止)するのに必要となる kill プロセスid です。次のコマンドをこのIDをプレースホルダに当てはめて実行します:

adb shell kill -11 [ENTER ID HERE]

root プロセスの停止は端末をクラッシュされるでしょう。

b2g用の GDBスクリプトの実行方法

  1. 電話機でギャラリーアプリを起動し、ターミナルで次のコマンドを実行します:
    adb shell b2g-ps
  2. ギャラリーアプリのpid を控えて、次のコマンドを実行します:
    ./run-gdb.sh attach <pid>
  3. クラッシュを起こす。
  4. このコマンドを実行します:
    (gdb) bt

ドキュメントのタグと貢献者

 このページの貢献者: chrisdavidmills, hamasaki, Uemmra3
 最終更新者: chrisdavidmills,