- Get the code
./bin/prepare-mochitests-dev - Go to the firefox directory
cd firefox - Build Firefox
./mach buildsee docs - Run Firefox
./mach runsee docs
Firefox is a large project, but for the most part the relevant source code is in /devtools. The debugger client, is in /devtools/client/debugger/new.
You can update the debugger by running yarn watch. The script will:
- copy the debugger files
- bundle dependencies into vendors
- bundle workers
Remember, every time the code changes in firefox you need to re-run
./mach build!
Firefox has built the toolbox so that it is powerful enough to debug the Firefox. You can launch it with ./mach run --jsdebugger. When you do, you're using the "browser toolbox" and you can inspect and debug anything in the browser, including the Debugger.
The server code lives in /devtools/server. It can be a bit difficult to debug, so the best thing to do is to add log statements in the code with the special dump command e.g. dump(">> I am here\n"). When you do, you'll see the logs in the terminal and in the browser toolbox console.