DOM/Engineering: Difference between revisions

Jump to navigation Jump to search
→‎Debugging: add some info on rr
(→‎Bugs: triage process, tiny crash reporting changes)
(→‎Debugging: add some info on rr)
Line 78: Line 78:
General links:
General links:
* [https://developer.mozilla.org/en-US/docs/Mozilla/Debugging MDN Debugging Page]
* [https://developer.mozilla.org/en-US/docs/Mozilla/Debugging MDN Debugging Page]
=== Using rr to record and replay (on linux) ===
[rr https://rr-project.org/] is a magic super tool that can record the execution of Firefox, logging all the non-determinism so that you can replay the exact execution later with support for reverse execution.  Once you reproduce a bug, you can revisit that execution endlessly.
* [https://github.com/mozilla/rr/wiki/Building-And-Installing Build and Install RR]
* [https://github.com/mozilla/rr/wiki/Recording-Firefox Recording Firefox]
Cheat sheet:
* <code>./mach test --debugger=rr ...</code> to record a test run of interest.
* <code>rr ps</code> to get a list of all the processes that existed during the most recent run.
* <code>rr replay -p PID</code> to replay the execution of the given process of interest and launch a gdb instance against it.  If you want to debug multiple processes at the same time and have enough system memory), you should use multiple invocations of this command at the same time.
* Then use gdb like you normally would.


=== Remote Debugging of Firefox ===
=== Remote Debugging of Firefox ===
Line 95: Line 106:
More info:
More info:
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging MDN's Gecko Logging] page covers [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging#Declaring_a_log_module how to use the logging mechanism in your code] and [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging#Enabling_Logging how to enable it].
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging MDN's Gecko Logging] page covers [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging#Declaring_a_log_module how to use the logging mechanism in your code] and [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Gecko_Logging#Enabling_Logging how to enable it].
* [https://developer.mozilla.org/en-US/docs/Mozilla/Debugging/HTTP_logging MDN's HTTP Logging] page documents the about:networking page that makes it possible to enable and configure  
* [https://developer.mozilla.org/en-US/docs/Mozilla/Debugging/HTTP_logging MDN's HTTP Logging] page documents the about:networking page that makes it possible to enable and configure


== Performance / Validation ==
== Performance / Validation ==


=== Telemetry ===
=== Telemetry ===
Confirmed users
360

edits

Navigation menu