|
|
Line 455: |
Line 455: |
| [http://mxr.mozilla.org/mozilla-central/source/browser/metro/shell/testing/metrotestharness.cpp harness source] | | [http://mxr.mozilla.org/mozilla-central/source/browser/metro/shell/testing/metrotestharness.cpp harness source] |
|
| |
|
| == Using Devtools == | | == Using Cleopatra Profiler == |
| * Tracking bug https://bugzilla.mozilla.org/show_bug.cgi?id=850019
| |
| ** There are known issues with the profiler. All other parts should be functional, modulo the refactoring work the devtools team is doing on them.
| |
| * This hooks into the tools developed & maintained by the devtools team.
| |
| * They have been refactoring & improving their tools, so it <strong>highly encouraged</strong> to use Nightly builds on both sides of the pairing if possible.
| |
|
| |
|
| * For <strong>remote profiling</strong>, follow the steps here revolving around prefs/settings and read {{bug|886555}} on getting the profiler going. | | * Follow all the set up instructions above to get the prefs set right for dev tools / remote debugging. |
| | | * Install the profiler extension from: https://github.com/bgirard/Gecko-Profiler-Addon/raw/master/geckoprofiler.xpi |
| * Before you start
| | * In classic set the pref 'profiler.threads' and 'profiler.stackwalk' to true. |
| ** You must have metro installed & working
| | * Restart |
| ** You must access to a classic/desktop fx. This need not be a local build
| | * From the toolbar button dropdown, select TCP, enter the metro browser's ip address, and click connect. You should get a remote connection warning in the metro browser. |
| ** If you are connecting remotely, you must make sure both machines can ping each other before starting. This will save you a lot of grief later
| | * After you have finishes collecting data, click analyze. |
| *** on windows ipconfig in the cmdline is helpful in getting your ip address
| | * Wait for the profile view to load (this may take a while!) |
| *** on windows 8 this usually means disabling the firewall (not encouraged) or adding inbound/outbound firewall rules to allow them to connect.
| | * For additional detail read {{bug|886555}} on getting things going. |
| **** If you need it, Peter in IT now knows a fair bit about setting up those rules if you get lost or stuck.
| |
| ** If you are on wifi, both devices must be on the same network to communicate. Mozilla != Mozilla-G.
| |
| *** It sounds silly but some of the windows devices only see Mozilla-G and the older company issued thinkpads do not have the hardware for it.
| |
| | |
| * Setup
| |
| ** Go to about:config on classic/desktop fx
| |
| *** devtools.debugger.force-local -> false
| |
| *** devtools.debugger.remote-enabled -> true
| |
| *** Check that these values are what you want
| |
| **** devtools.debugger.remote-port -> 6000 (I'd leave this one alone unless you have a compelling reason to change it)
| |
| *** If you don't have these, you'll probably want these as well
| |
| **** devtools.debugger.log -> true
| |
| **** browser.dom.window.dump.enabled -> true | |
| ** Restart classic/desktop fx
| |
| *** You need to restart for the next step to work.
| |
| ** Navigate Firefox button -> Web Developer -> "Connect.." entry between the Error Console" & "Get More Tools" Entry
| |
| *** https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Debugging/Setting_up is what this step is based on
| |
| ** Go to about:config on metrofx
| |
| *** devtools.debugger.force-local -> false
| |
| *** devtools.debugger.remote-enabled -> true
| |
| *** and you may want
| |
| **** devtools.debugger.log -> true
| |
| **** devtools.errorconsole.enabled -> true
| |
| **** browser.dom.window.dump.enabled -> true
| |
| *** devtools.debugger.remote-port -> 6000 (again I'd leave this one alone)
| |
| *** It is unclear if a restart is required. I frequently do in the test-build-dev cycle anyway.
| |
| ** Make sure metrofx is started (and not suspended)
| |
| ** In classic fx, click the "Connect..." entry
| |
| *** Depending on your version, this will launch a new tab or a new panel on firefox
| |
| *** Enter the ip of metrofx if you are connecting remotely and the port number if you've changed them.
| |
| *** If you are connecting on a localhost, you shouldn't need to change the default settings.
| |
| ** Click the connect button in classic fx | |
| ** On metrofx a strap(the metro version of the modal dialog) will appear about an incoming connection.
| |
| *** Click/tap "allow"
| |
| ** On classic fx, the connect page will reload with a list of active tabs & processes. Usually 'main process' is the most interesting.
| |
| ** The devtools console will appear & the aforementioned tab on classic fx will disappear | |
| ** Sally forth & debug!
| |
| | |
| * Notes
| |
| ** I usually pair on localhost, using an external monitor so I can see metrofx & classicfx at the same time.
| |
| ** If you are using localhost without an external monitor, beware of windows suspending the metrofx while its waiting for the incoming connection. This will cause the pairing to fail. | |
| ** While you can pair classic/metrofx running out of the same obj dir, I frequently experienced unexpected hangs and crashes as a result. | |
| ** if you close the devtools window, this usually results in the metro browser shutting down
| |
|
| |
|
| == Samsung Series 7 == | | == Samsung Series 7 == |