Skip to content

Remote Debug

dynamis edited this page Jun 18, 2019 · 22 revisions

Amethyst でのリモートデバッグ

ボード側での事前準備

コンソールから firefox about:config のように起動して内部設定編集画面を開くか、プロファイルディレクトリ (/home/root/.mozilla/firefox/xxxxxxxx.default/) の prefs.js で次の設定をしてください。

// ネットワーク越しのリモートデバッグを許可
user_pref("devtools.debugger.force-local", false);
// リモートデバッガのアタッチ時に確認ダイアログを表示しない
user_pref("devtools.debugger.prompt-connection", false);

PC 側での事前準備

最新版 Firefox からでもリモートデバッグは可能だが、インスペクタなどいくつかの機能が動作しなくなるのでデバッグ対象とバージョンを合わせた Firefox を用意します。

  • 開発環境の OS に応じた Firefox 60 を FTP サーバ からダウンロードして通常 Firefox とは別ディレクトリにインストールする (デフォルト設定でインストールすると通常の最新バージョン用の Firefox を上書きインストールしないように注意)
  • Firefox のプロファイルマネージャ でデバッグ専用プロファイルを (fx60 など適当な名前で) 作成する
  • Firefox 60 をプロファイルマネージャからまたはコマンドライン引数でプロファイルを指定してデバッグ専用プロファイルで起動する
  • 起動後速やかに設定画面 (about:preferences) で「Firefox の更新動作」を「更新の確認は行わない (非推奨)」に変更する
    • デフォルト設定では勝手にバージョンアップしてしまうので
  • リモートデバッグを有効にします
    • F12 キーで開発ツールを表示、右上の歯車アイコンで設定画面を表示、右下の「リモートデバッガーを有効化」をオンにする
    • これで設定としては devtools.debugger.remote-enabled が true になる
  • 「ウェブ開発」メニューの下に「接続...」が追加されることを確認

デバッグ手順

  • 実機側の IP アドレスを ip addr コマンドで確認してメモしておく
  • 実機側を firefox http://urls.jp/gemqa -start-debugger-server のように引数付きで起動
    • ウィンドウが開く前にコンソールに Started debugger server on 6000 と表示されることを確認
  • PC 側の Firefox 60 をデバッグ用プロファイルで起動し、「ウェブ開発」 → 「接続...」メニューを開く
    • 「ホスト」に先ほどメモした実機の IP アドレスを、「ポート」には 6000 (デフォルト) を設定して「接続」ボタンをクリック
  • 「利用可能なリモートのプロセス」の「メインプロセス」を選択して接続
  • コンソールタブを選択し、「出力を絞り込み」バーや「永続ログ」ボタンが表示されることを確認
    • リモートデバッグは安定性が不十分で、何らかの問題で正常接続されない場合にこれらのメニューが表示されないことがあります
  • リモートデバッグウィンドウが開いたら右上のフレーム選択ボタンをクリックして chrome://browser/content/browser.xul からもう一つの、現在開いている URL を選択する
  • 暫く待つと Webconsole context has changed とコンソールに表示される
  • お疲れ様! 以降は PC の Firefox で普段デバッグしているときと同様にデバッグできます!
Clone this wiki locally