3
27
2014
7

火狐远程调试初体验

本文来自依云's Blog,转载请注明。

开始啦

首先要启用远程调试功能。在桌面端火狐里按快捷键Ctrl-Shift-K调用开发者工具,点左上角的「设置」按钮,勾选「启用远程调试」。移动端火狐也通过「设置」页启用远程调试。

启用远程调试

设置端口转发。使用 USB 连接并且在 Android 设备上启用了 adb 的话,可以使用如下命令来转发:

adb forward tcp:6000 tcp:6000

我使用 Wi-Fi 网络连接。因为移动端火狐只监听了 127.0.0.1 这个地址,所以外边连不上去。我使用 socat 命令来转发一下。我编译的 Android 版 socat 程序可在这边下载

socat tcp-listen:6000,fork,bind=192.168.1.XXX,reuseaddr tcp:127.0.0.1:6000

桌面端在「Web 开发者」菜单里选择「连接…」,然后填入移动端的 IP 地址。如果使用 adb 进行端口转发的话使用默认的「localhost」就可以了。

连接到远程设备

开始连接之后,被连接的火狐(这里即移动设备上那个)会弹窗询问是否允许。确认之后就可以看到远程设备的标签页以及 chrome 页面(即截图里那个「主进程」)了。

选择连接到的标签页

然后就跳出来一个新的开发者工具窗口了。我这里选择的是火狐自己那个 chrome 页面(「主进程」):

调试移动端火狐

大家可以看到,我在 Android 上的火狐上也安装了 Adblock Plus 哦~

小惊喜

桌面端火狐启用远程调试chrome 调试后,可以在「Web 开发者」菜单里看到「浏览器工具箱」这么一项。它会开启一个-P参数为default-chrome-debugger-chrome参数为chrome://browser/content/devtools/framework/toolbox-process-window.xul的新火狐实例,通过远程调试接口连接到当前火狐实例上,实现对火狐顶层 chrome 窗口的调试。不过直接执行在 htop 里看到的命令并不能开启调试器,大概是因为这时候需要被调试的火狐不知道有人要调试它吧。虽然火狐自带的开发者工具功能比较弱,不过能对顶层 chrome 窗口进行调试还是很不错的 :-)

参考资料

Category: 火狐 | Tags: 火狐 Android | Read Count: 8838
XGLey 说:
Mar 27, 2014 08:52:43 PM

仙子姐姐真是巧了,今天为了测试与调试网页在移动端的表现,也试着打开android版firefox remote debuge功能。

我参考的是mdn上的说明[1],前面操作都差不多的。我连接WIFI进行调试,没用过adb,也没用过端口转发,在移动端FX上可以进入`about:config`中,将`devtools.debugger.remote-enabled`设为true则可以直接连接,省去了socat转发这一步。=w=

[1]: https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Firefox_for_Android

Avatar_small
依云 说:
Mar 27, 2014 09:49:19 PM

巴德尔-迈因霍夫现象~~http://localhost-8080.com/2010/10/baader-meinhof-phenomenon/

果然是可以设置的呢。我没看文档直接弄的,发现它没监听外部网络就直接上 socat 了,现成的嘛 =w=

cold 说:
Mar 28, 2014 03:57:57 PM

我手机上的火狐也安装了 Adblock plus, 但是不起作用.

BSD依依鸭 说:
Mar 31, 2014 11:56:35 PM

依云妹子,求友情链接

linuxdog 说:
Jan 30, 2015 09:35:38 PM

我怎么都连不上!

linuxdog 说:
Jan 31, 2015 01:52:36 AM

终于连上了,还是的看英文的原始文档啊! 版本太多,不过内部都是一样的了!

凌风 说:
Sep 15, 2015 03:29:04 PM

我这里也连接不上,浏览器报“意外错误”


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

部分静态文件存储由又拍云存储提供。 | Theme: Aeros 2.0 by TheBuckmaker.com