{"id":461,"date":"2024-06-25T17:49:25","date_gmt":"2024-06-25T17:49:25","guid":{"rendered":"https:\/\/blog.mozilla.org\/webrtc\/?p=461"},"modified":"2024-07-01T18:00:11","modified_gmt":"2024-07-01T18:00:11","slug":"helpful-firefox-about-pages-for-debugging-webrtc","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/","title":{"rendered":"Helpful Firefox <code>about:<\/code> pages for debugging WebRTC"},"content":{"rendered":"<p>Debugging WebRTC calls can be difficult. When you work on WebRTC any call you are in can unexpectedly become a troubleshooting session and printing messages to the JS console may not cut it. Firefox ships with several tools to help. We&#8217;ll briefly touch on each of these tools at a glance and learn when you might want to reach for them.<\/p>\n<h2>Using <code>about:webrtc<\/code> and <code>about:logging<\/code><\/h2>\n<p><code>about:webrtc<\/code> has lots of information about WebRTC sessions. Of all the tools covered here, this one is the most tailored for debugging active call issues. You can look at the call signaling, connection establishment, network traffic, and more. In a future article we will look at effective ways to get data out of <code>about:webrtc<\/code> and into your notes, bug reports, and more. There are more generalized tools available as well, so let&#8217;s take a peak at those next.<br \/>\n<!--more--><br \/>\nIf one needs to get WebRTC (and other) logging out of the browser <code>about:logging<\/code> is there to help. By selecting the &#8220;WebRTC&#8221; logging preset one can tell Firefox to produce in depth logging related to WebRTC calls. We&#8217;ll cover this in greater detail in a later article.<\/p>\n<h2>Useful <code>about:<\/code> pages for process, memory and crash information<\/h2>\n<p>Did Firefox crash during your call? If so <code>about:crashes<\/code> may have exactly what you need to get a crash stack. You can also submit crashes from there and get links to those submissions. This is great information to include in any related bugs you may file. Check out this <a href=\"https:\/\/support.mozilla.org\/en-US\/kb\/troubleshoot-firefox-crashes-closing-or-quitting\">article<\/a> for more guidance on using <code>about:crashes<\/code>.<\/p>\n<p>If one needs to attach a debugger to Firefox, <code>about:processes<\/code> can help you find the right process quickly. You can see at a glance what tabs belong to which processes, see per process CPU and memory usage, and you can dig down to inspect threads in those processes. You can read a bit more about it in this support <a href=\"https:\/\/support.mozilla.org\/en-US\/kb\/task-manager-tabs-or-extensions-are-slowing-firefox\">article<\/a>.<\/p>\n<p>When diving deep into tracking down memory usage <code>about:memory<\/code> can be useful. You can produce a memory report, force garbage collection, and other esoteric memory related things. The <a href=\"https:\/\/firefox-source-docs.mozilla.org\/index.html\">Firefox Source Docs<\/a>, our in-tree documentation, has a detailed <a href=\"https:\/\/firefox-source-docs.mozilla.org\/performance\/memory\/about_colon_memory.html\">article<\/a> to help you use it effectively.<\/p>\n<p>If you want to find even more tools that may be useful for other problems you can always explore <code>about:about<\/code>. Have fun!<\/p>\n","protected":false},"excerpt":{"rendered":"Debugging WebRTC calls can be difficult. When you work on WebRTC any call you are in can unexpectedly become a troubleshooting session and printing messages to the JS console may not cut it. Firefox ships with several tools to help. We&#8217;ll briefly touch on each of these tools at a glance and learn when you [&hellip;]","protected":false},"author":1551,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"coauthors":[301113],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Helpful Firefox about: pages for debugging WebRTC - Advancing WebRTC<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Helpful Firefox about: pages for debugging WebRTC - Advancing WebRTC\" \/>\n<meta property=\"og:description\" content=\"Debugging WebRTC calls can be difficult. When you work on WebRTC any call you are in can unexpectedly become a troubleshooting session and printing messages to the JS console may not cut it. Firefox ships with several tools to help. We&#8217;ll briefly touch on each of these tools at a glance and learn when you [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/\" \/>\n<meta property=\"og:site_name\" content=\"Advancing WebRTC\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-25T17:49:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-01T18:00:11+00:00\" \/>\n<meta name=\"author\" content=\"ngrunbaum@mozilla.com\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ngrunbaum@mozilla.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/\",\"url\":\"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/\",\"name\":\"Helpful Firefox about: pages for debugging WebRTC - Advancing WebRTC\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/webrtc\/#website\"},\"datePublished\":\"2024-06-25T17:49:25+00:00\",\"dateModified\":\"2024-07-01T18:00:11+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/webrtc\/#\/schema\/person\/5ef2d1a597cc1b1bbd43d05e9c820305\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/webrtc\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Helpful Firefox about: pages for debugging WebRTC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/webrtc\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/webrtc\/\",\"name\":\"Advancing WebRTC\",\"description\":\"Committed to moving Firefox and WebRTC forward\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/webrtc\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/webrtc\/#\/schema\/person\/5ef2d1a597cc1b1bbd43d05e9c820305\",\"name\":\"ngrunbaum@mozilla.com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/webrtc\/#\/schema\/person\/image\/fa294091d69caedd030a4abe720dfa1d\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e49c6f6d2a2296f8ff216adbd0a60fe5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e49c6f6d2a2296f8ff216adbd0a60fe5?s=96&d=mm&r=g\",\"caption\":\"ngrunbaum@mozilla.com\"},\"url\":\"https:\/\/blog.mozilla.org\/webrtc\/author\/ngrunbaummozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Helpful Firefox about: pages for debugging WebRTC - Advancing WebRTC","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/","og_locale":"en_US","og_type":"article","og_title":"Helpful Firefox about: pages for debugging WebRTC - Advancing WebRTC","og_description":"Debugging WebRTC calls can be difficult. When you work on WebRTC any call you are in can unexpectedly become a troubleshooting session and printing messages to the JS console may not cut it. Firefox ships with several tools to help. We&#8217;ll briefly touch on each of these tools at a glance and learn when you [&hellip;]","og_url":"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/","og_site_name":"Advancing WebRTC","article_published_time":"2024-06-25T17:49:25+00:00","article_modified_time":"2024-07-01T18:00:11+00:00","author":"ngrunbaum@mozilla.com","twitter_card":"summary_large_image","twitter_misc":{"Written by":"ngrunbaum@mozilla.com","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/","url":"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/","name":"Helpful Firefox about: pages for debugging WebRTC - Advancing WebRTC","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/webrtc\/#website"},"datePublished":"2024-06-25T17:49:25+00:00","dateModified":"2024-07-01T18:00:11+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/webrtc\/#\/schema\/person\/5ef2d1a597cc1b1bbd43d05e9c820305"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/webrtc\/helpful-firefox-about-pages-for-debugging-webrtc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/webrtc\/"},{"@type":"ListItem","position":2,"name":"Helpful Firefox about: pages for debugging WebRTC"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/webrtc\/#website","url":"https:\/\/blog.mozilla.org\/webrtc\/","name":"Advancing WebRTC","description":"Committed to moving Firefox and WebRTC forward","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/webrtc\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/webrtc\/#\/schema\/person\/5ef2d1a597cc1b1bbd43d05e9c820305","name":"ngrunbaum@mozilla.com","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/webrtc\/#\/schema\/person\/image\/fa294091d69caedd030a4abe720dfa1d","url":"https:\/\/secure.gravatar.com\/avatar\/e49c6f6d2a2296f8ff216adbd0a60fe5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e49c6f6d2a2296f8ff216adbd0a60fe5?s=96&d=mm&r=g","caption":"ngrunbaum@mozilla.com"},"url":"https:\/\/blog.mozilla.org\/webrtc\/author\/ngrunbaummozilla-com\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/posts\/461"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/users\/1551"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/comments?post=461"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/posts\/461\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/media?parent=461"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/categories?post=461"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/tags?post=461"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/webrtc\/wp-json\/wp\/v2\/coauthors?post=461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}