Debugging

For other debugging resources, see also: Remote project wiki

Increasing the logging verbosity

To increase the internal logging verbosity you can use the remote.log.level preference.

If you use mach to start Firefox:

./mach run --setpref "remote.log.level=Trace" --remote-debugging-port

By default, long log lines are truncated. To print long lines in full, you can set remote.log.truncate to false.

Enabling logging of emitted events

To dump events produced by EventEmitter, including CDP events produced by the Remote Agent, you can use the toolkit.dump.emit preference:

./mach run –setpref “toolkit.dump.emit=true” –remote-debugging-port

Logging observer notifications

System observer notifications are used extensively throughout the code and it can sometimes be useful to log these to see what is available and when they are fired.

The MOZ_LOG environment variable controls the C++ logs and takes the name of the subsystem along with a verbosity setting. See prlog.h for more details.

MOZ_LOG=ObserverService:5

You can optionally redirect logs away from stdout to a file:

MOZ_LOG_FILE=service.log

This enables LogLevel::Debug level information and places all output in the file service.log in your current working directory.