Search completed in 1.83 seconds.
365 results for "Debugging":
Your results are loading. Please wait...
Debugging on Mac OS X
if you want to debug from the terminal see debugging mozilla with lldb.
... for specific information on a way to debug hangs, see debugging a hang on os x.
... debugging firefox on macos 10.14+ macos 10.14 introduced notarization and hardened runtime features for improved application security.
...And 19 more matches
Debugging on Windows
microsoft child process debugging power tool allows automatically attaching to child processes, such as web content process, gpu process, etc.
... enable it by going its configuration menu in "debug > other debugging targets > child process debugging settings", and ticking the box.
... debugging release and nightly builds refer to the steps to use the mozilla symbol server and source server.
...And 17 more matches
Debugging
debugging a project as large as mozilla can be a daunting task.
...also available are assorted tools that you can use when debugging.
... documentation topics debugging on top of the mozilla platform debugging javascript code how to debug javascript code, with a focus on debugging code in the mozilla project itself.
...And 17 more matches
about:debugging - Firefox Developer Tools
the about:debugging page provides a single place from which you can attach the firefox developer tools to a number of debugging targets.
... opening the about:debugging page there are two ways to open about:debugging: type about:debugging in the firefox url bar.
... in the tools > web developer menu, click remote debugging.
...And 17 more matches
about:debugging (before Firefox 68) - Firefox Developer Tools
the about:debugging page provides a single place from which you can attach the firefox developer tools to a number of debugging targets.
... opening the about:debugging page there are several different ways to open about:debugging: type "about:debugging" in the firefox url bar.
... when about:debugging opens, on the left-hand side, you'll see a sidebar enabling you to switch between the two main views: one for add-ons and one for workers.
...And 11 more matches
Debugging HTML - Learn web development
objective: learn the basics of using debugging tools to find problems in html.
... debugging isn't scary when writing code of some kind, everything is usually fine, until that dreaded moment when an error occurs — you've done something wrong, so your code doesn't work — either not at all, or not quite how you wanted it to.
... debugging doesn't have to be scary though — the key to being comfortable with writing and debugging any programming language or code is familiarity with both the language and the tools.
...And 4 more matches
Debugging JavaScript
it should give pointers to tools, aids and tricks which make debugging your code easier.
... web console this is the first place to go when you're debugging a web page; open the web console using the web console option in the web developer menu.
...to enable it, go to about:config in the url bar and set devtools.chrome.enabled to true, or set the "enable chrome and add-on debugging" option in the developer tool settings.
...And 2 more matches
Remotely debugging Firefox for Metro - Archive of obsolete content
this article explains how to use remote debugging to inspect and code running in the new windows 8 ("metro-style") firefox app, using the developer tools in firefox on the desktop.
... this can be a security risk, especially if you also set the force-local preference to false.) set up firefox for desktop on the desktop, remote debugging is enabled by a setting in the toolbox.
... open the toolbox, click the "settings" button in the toolbar, and check "enable remote debugging" in the settings tab.
... you'll see one entry under "available remote tabs" for each open tab, and clicking it will attach the debugging tools to the web content hosted by that tab.
Debugging CSS - Learn web development
this article will give you guidance on how to go about debugging a css problem, and show you how the devtools included in all modern browsers can help you to find out what is going on.
... the following video provides some useful tips on debugging css using the firefox devtools: editing values in addition to turning properties on and off, you can edit their values.
... debugging problems in css devtools can be a great help when solving css problems, so when you find yourself in a situation where css isn't behaving as you expect, how should you go about solving it?
...us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Debugging service workers - Firefox Developer Tools
in this article we will look at debugging service workers using the firefox devtools application panel.
... debugging your service worker in any case, when the service worker is successfully registered, you'll see information about it displayed in the application > service workers view (along with any other service workers registered on the same domain): this gives you a variety of information about your service worker: the url that the service worker is registered on.
...this is very useful because, once registered, the service worker will not necessarily update to the new version immediately, which can make debugging a pain.
...if you want to see a list of information concerning all the service workers registered on your browser, you can visit about:debugging#/runtime/this-firefox.
Remote debugging - Archive of obsolete content
debugging over bugzilla explain in the bug that you have a core file or can reproduce the crash as many times as needed.
...examples: 367650, 374356, 393325, 418139 debugging over irc find the developer on irc and explain that you've caught the bug in a debugger.
... since debugging usually requires printing many objects, this is much faster than debugging over bugzilla.
Debugging a XULRunner Application - Archive of obsolete content
see also debugging javascript prefs setting the following prefs will make your debugging life much easier!
... /* debugging prefs */ pref("browser.dom.window.dump.enabled", true); pref("javascript.options.showinconsole", true); pref("javascript.options.strict", true); pref("nglayout.debug.disable_xul_cache", true); pref("nglayout.debug.disable_xul_fastload", true); don't forget to change these preferences back to their defaults when you've finished debugging; leaving them as-is can significantly harm performance and usability.
...happy debugging :) venkman follow these instructions to install venkman into your xulrunner application (xulrunner 1.9 and later): get venkman from addons.mozilla.org (v0.9.87 at the time of writing).
Debugging OpenGL
for various reasons, debugging opengl related code can be tricky.
... this article provides suggestions for how to improve your efficiency while debugging opengl code in gecko.
...this makes debugging crashes caused by an opengl call much easier, since the stack you see will match where the call was issued, rather than some time in the future when it happens to run and crash.
Debugging Firefox Desktop - Firefox Developer Tools
in this guide, the instance of firefox being debugged is called the debuggee, and the instance of firefox doing the debugging is called the debugger.
... enable remote debugging first, you'll need to ensure that both debugger and debuggee have the "enable browser chrome and add-on debugging toolboxes" and "enable remote debugging" settings checked in the developer tools settings.
Debugging Internet Explorer
edgehtml lets you extract various debugging dumps through a special webdriver ms/dumpinternal url.
Debugging Frame Reflow
advanced reflow debugging the previously described technique dumps the data for every frame.
Debugging update problems
checking update requests if you're debugging the application update feature in firefox or other mozilla applications, you may need to see what requests are occurring.
Debugging a hang on OS X (Archived)
see also debugging on mac os x ...
Index - Firefox Developer Tools
11 application application, debugging, devtools, firefox, guide, manifests, service workers the application panel provides tools for inspecting and debugging modern web apps (also known as progressive web apps).
... 12 debugging service workers application, devtools, firefox, guide, service workers in this article we will look at debugging service workers using the firefox devtools application panel.
... 14 browser console browser, debugging, tools, web development, webdevelopment:tools the browser console is like the web console, but applied to the whole browser rather than a single content tab.
...And 36 more matches
Index - Web APIs
WebAPIIndex
654 console api api, debugging, overview, console, dump, log, output, test the console api provides functionality to allow developers to perform debugging tasks, such as logging messages or the values of variables at set points in your code, or timing how long an operation takes to complete.
... 4257 in depth: microtasks and the javascript runtime environment api, advanced, guide, javascript, microtasks, asynchronous, queuemicrotask, runtime when debugging or, possibly, when trying to decide upon the best approach to solving a problem around timing and scheduling of tasks and microtasks, there are things about how the javascript runtime operates under the hood that may be useful to understand.
... 4563 webgl_debug_renderer_info api, reference, webgl, webgl extension the webgl_debug_renderer_info extension is part of the webgl api and exposes two constants with information about the graphics driver for debugging purposes.
...And 28 more matches
Index - Archive of obsolete content
626 remote debugging when a bug is reproducible by a community member, but not on a developer's computer, a last-resort strategy is to debug it on the community member's computer.
... 627 remotely debugging firefox for metro this article explains how to use remote debugging to inspect and code running in the new windows 8 ("metro-style") firefox app, using the developer tools in firefox on the desktop.
...it aims to provide a powerful javascript debugging environment for mozilla based browsers namely firefox, netscape 7.x/9.x and seamonkey.
...And 9 more matches
Venkman Introduction - Archive of obsolete content
this introduction is the first in a series of articles on venkman and javascript debugging.
...venkman's keyboard shortcuts are the same as leading visual debugging environments, and gdb users should be familiar with venkman's /break, /step, /next, /finish, /frame, and /where commands.
...on other platforms, including mac os and unix, it is alone in offering this degree of flexibility, depth, and power in a visual debugging environment.
...And 7 more matches
dev/panel - Archive of obsolete content
when the panel's created, the framework passes it a debuggee: this is a messageport object that you can use to exchange json messages with the browser that the developer tools are currently debugging.
... the messages follow the remote debugging protocol.
...the remote debugging protocol page describes the protocol in detail.
...And 5 more matches
Using Breakpoints in Venkman - Archive of obsolete content
one of the basic tasks of debugging any language is setting breakpoints.
...when you set a breakpoint in a debugging application such as venkman, you can take advantage of the suspension to examine variables, objects, and other featues of the execution.
...basic breakpoints the stop button and debugger keyword are useful features of the javascript debugger, but when you are debugging deep in code—especially code you have authored yourself and are responsible for troubleshooting—you're going to need breakpoints.
...And 4 more matches
Index - Learn web development
troubleshooting javascript article, beginner, codingscripting, debugging, developer tools, error, javascript, learn, tutorial, console.log, l10n:priority so there we have it, the basics of figuring out errors in simple javascript programs.
... 102 learn to style html using css beginner, css, codingscripting, debugging, landing, style, topic, length, specificity cascading stylesheets — or css — is the first technology you should start learning after html.
...this module looks at the cascade and inheritance, all the selector types we have available, units, sizing, styling backgrounds and borders, debugging, and lots more.
...And 4 more matches
How to get a stacktrace with WinDbg
(to get a stacktrace for thunderbird or some other product, substitute the product name where ever you see firefox in this instructions.) requirements to get such a stacktrace you need to install the following software: debugging tools for windows microsoft distributes the debugging tools for windows for free, those include windbg which you will need here.
... download it from install debugging tools for windows.
... debugging to begin debugging, ensure that firefox is not already running and open windbg from the start menu.
...And 4 more matches
Leak-hunting strategies and tips
mac any build leak tools for debugging memory growth that is cleaned up on shutdown diffbloatdump (part of tracemalloc) all allocations linux only?
...(but we have many virtual destructors in the codebase that don't need to be -- don't do that.) debugging leaks that go through xpconnect many large object graphs that leak go through xpconnect.
...debugging leaks that go through xpconnect requires a basic understanding of what xpconnect does.
...And 4 more matches
Index
211 nss tools ssltap the ssl debugging tool is an ssl-aware command-line proxy.
...retaining the temporary directories can be an aid to debugging.
...http://www.mozilla.org/projects/security/pki/nss/ 218 nss tools : ssltap name ssltap — tap into ssl connections and display the data going by synopsis libssltap [-vhfsxl] [-p port] [hostname:port] description the ssl debugging tool ssltap is an ssl-aware command-line proxy.
...And 4 more matches
Using the Mozilla symbol server
this allows debugging of those builds without forcing all users to download large debugging files.
... note that because mozilla release builds are heavily optimized, debugging is not always easy.
...you cannot visit this url directly: you must add it to the symbol path of your debugging tool.
...And 4 more matches
Appendix D: Loading Scripts - Archive of obsolete content
debuggable: development tools support debugging javascript loaded by script tags disadvantages scoping: scripts loaded via script tags share the global scope with all other scripts loaded into the same window.
...this information is invaluable for debugging, and the flexibility with which it can be specified makes this method useful for extracting javascript from a number of file formats other than raw javascript scripts.
...some known issues include: e4x xml objects cannot be wrapped for passage between compartments: bug 613142 there are a number of type detection issues, including: string.replace does not recognize regexp objects from foreign compartments: bug 633830 debugging: support for sandbox evaluation in development tools is uneven.
...And 3 more matches
Hacking Tips
it is separated in 2 parts, one section related to debugging and another section related to drafting optimizations.
... debugging tips getting help (from js shell) use the help function to get the list of all primitive functions of the shell with their description.
... some variants of this function such as js::dumpscript etc are convenient for debugging.
...And 3 more matches
DevTools API - Firefox Developer Tools
a toolbox (and all the tools it contains) is linked to a target, which is the object the tools are debugging.
... parameters: target {target} - the target the toolbox is debugging.
... toolbox a toolbox is a frame for the toolpanels that is debugging a specific target.
...And 3 more matches
Capturing a minidump
this page describes how to capture these minidumps on windows, to permit better debugging.
... install debugging tools for windows microsoft distributes the debugging tools for windows for free, those include windbg which you will need here.
... download it from install debugging tools for windows.
...And 2 more matches
NSS Tools ssltap
using the ssl debugging tool (ssltap) newsgroup: mozilla.dev.tech.crypto the ssl debugging tool is an ssl-aware command-line proxy.
... syntax to run the ssl debugging tool, type this command in a command shell: ssltap [-vhfsxl] [-p port] hostname:port options the command does not require any options other than hostname:port, but you normally use them to control the connection interception and output.
...the following are well-known port numbers: http 80 https 443 smtp 25 ftp 21 imap 143 imaps 993 (imap over ssl) nntp 119 nntps 563 (nntp over ssl) examples you can use the ssl debugging tool to intercept any connection information.
...And 2 more matches
Debugger - Firefox Developer Tools
setting this flag to true is intended for uses of subsystems of the debugger api (e.g, debugger.source) for purposes other than step debugging a target javascript program.
... when one of the events described below occurs in debuggee code, the engine pauses the debuggee and calls the corresponding debugging handler on each debugger instance that is observing the debuggee.
...any value assigned to a debugging handler must be either a function or undefined; otherwise a typeerror is thrown.
...And 2 more matches
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
true browser.dom.window.dump.enabled (not present in firefox 3.5+) enables use of the dump method for debugging.
... refer to the “javascript debugging methods” sidebar.
...see the part “javascript debugging techniques” for useful tips on that subject5.
... javascript debugging methods alert the easiest way to debug javascvript is using the window.alert method to display variables in a dialog (listing 29).
Setting up an extension development environment - Archive of obsolete content
development preferences there is a set of development preferences that, when enabled, allows you to view more information about application activity, thus making debugging easier.
... warning: never set nglayout.debug.disable_xul_fastload to true in a production environment; it exists solely to aid in debugging.
... dom inspector, used to inspect and edit the live dom of any web document or xul application (firefox and thunderbird) venkman, a javascript debugger (firefox version, thunderbird version) thunderbird developer tools, enables debugging thunderbird remotely using using firefox developer tools extension developer's extension a suite of tools for extension development (firefox) extension test an add-on which makes it easier to detect problems which will lead to rejection by addons.mozilla.org console² enhanced javascript console (firefox version, thunderbird version) javascript command for writing/testing javascript on firefo...
... however, this interface can be disruptive when debugging add-ons.
MMgc - Archive of obsolete content
poisoned memory in debug builds, mmgc writes "poison" into deallocated memory as a debugging aid.
...debugging aids mmgc has several debugging aids that can be useful in your development work.
... underwrite/overwrite detection mmgc can often detect when you write outside the boundaries of an object, and will throw an assert in debugging builds when this happens.
...this slows the application down but can be invaluable when debugging.
Template Logging - Archive of obsolete content
« previous debugging problems with a template can be difficult as many problems are logic errors that are often not possible to determine automatically.
...fortunately, some debugging and logging support is provided with templates that may help.
...the first debugging method involves logging all new results that apply to the template due to the data changing as well as logging results that are changed or removed.
...this logging of results can be very useful for debugging, but remember to remove this flag when you have finished and the template works correctly, as the logging can take up extra time that is not necessary when the template is working.
Eclipse CDT
it also used to be necessary to add the following two lines to your mozconfig to make the compiler output errors all on a single line, but that may not be needed anymore: export cflags="-fmessage-length=0" export cppflags="-fmessage-length=0" debugging to create a debug configuration, open the project properties window, and select "run/debug settings" on the left.
...isn't library_path for compile time, not runtime, linking?) in the workspace preferences, you may want to go to "c/c++ > debug > gdb" and deselect "stop on startup at", so that eclipse won't automatically break in main() when it launches firefox for debugging.
... after you've finished debugging, you can get back to the c/c++ perspective (i.e.
...if you use mac, you may want to build the latest fsf version of gdb and set eclipse to use that gdb for debugging.
Logging
nspr uses this facility itself for its own development debugging purposes.
... nspr also provides "assert"-style macros and functions to aid in application debugging.
... to enable nspr logging and/or the debugging aids in your application, compile using the nspr debug build headers and runtime.
... logging functions and macros the functions and macros for logging are: pr_newlogmodule pr_setlogfile pr_setlogbuffering pr_logprint pr_logflush pr_log_test pr_log pr_assert pr_assert pr_static_assert (new in nspr 4.6.6xxx this hasn't been released yet; the number is a logical guess) pr_not_reached use example the following sample code fragment demonstrates use of the logging and debugging aids.
NSS tools : ssltab
name ssltap — tap into ssl connections and display the data going by synopsis libssltap [-vhfsxl] [-p port] [hostname:port] description the ssl debugging tool ssltap is an ssl-aware command-line proxy.
...the following are well-known port numbers: * http 80 * https 443 * smtp 25 * ftp 21 * imap 143 * imaps 993 (imap over ssl) * nntp 119 * nntps 563 (nntp over ssl) usage and examples you can use the ssl debugging tool to intercept any connection information.
...the simplest way to use the debugging tool is to execute the following command from a command shell: $ ssltap www.netscape.com the program waits for an incoming connection on the default port 1924.
...the browser retrieves the requested page from the server at www.netscape.com, but the page is intercepted and passed on to the browser by the debugging tool on intercept.
NSS tools : ssltap
name ssltap — tap into ssl connections and display the data going by synopsis libssltap [-vhfsxl] [-p port] [hostname:port] description the ssl debugging tool ssltap is an ssl-aware command-line proxy.
...the following are well-known port numbers: * http 80 * https 443 * smtp 25 * ftp 21 * imap 143 * imaps 993 (imap over ssl) * nntp 119 * nntps 563 (nntp over ssl) usage and examples you can use the ssl debugging tool to intercept any connection information.
...the simplest way to use the debugging tool is to execute the following command from a command shell: $ ssltap www.netscape.com the program waits for an incoming connection on the default port 1924.
...the browser retrieves the requested page from the server at www.netscape.com, but the page is intercepted and passed on to the browser by the debugging tool on intercept.
NSS tools : ssltap
MozillaProjectsNSStoolsssltap
name ssltap — tap into ssl connections and display the data going by synopsis libssltap [-vhfsxl] [-p port] [hostname:port] description the ssl debugging tool ssltap is an ssl-aware command-line proxy.
... the following are well-known port numbers: * http 80 * https 443 * smtp 25 * ftp 21 * imap 143 * imaps 993 (imap over ssl) * nntp 119 * nntps 563 (nntp over ssl) usage and examples you can use the ssl debugging tool to intercept any connection information.
...the simplest way to use the debugging tool is to execute the following command from a command shell: $ ssltap www.netscape.com the program waits for an incoming connection on the default port 1924.
...the browser retrieves the requested page from the server at www.netscape.com, but the page is intercepted and passed on to the browser by the debugging tool on intercept.
Rhino Debugger
the rhino javascript debugger is a gui that allows debugging of interpreted javascript scripts run in rhino.
... current limitations: no breakpoint menu using the rhino javascript debugger the mozilla rhino javascript engine includes a source-level debugger for debugging javascript scripts.
... controlling execution the debugger provides the following facilities for you to control the execution of scripts you are debugging: step into to single step entering any function calls, you may do any of the following: select the debug->step into menu item on the menu bar press the step into button on the toolbar press the f11 key on the keyboard execution will resume.
... setting and clearing breakpoints the main desktop of the debugger contains file windows which display the contents of each script you are debugging.
Web Replay
devtools.recordreplay.logging when enabled, firefox will log web replay's internal actions to the terminal, which is helpful when debugging hangs and crashes.
... debugger integration when debugging a normal content process, the devtools js debugger runs quite a bit of js code in the content process, communicating with the chrome process primarily through streams of json data.
... when debugging a child content process, this js code runs in the middleman process.
... debugger changes from the perspective of a devtools server, debugging a recording/replaying process is very similar to debugging a live process.
WebReplayRoadmap
the low level, yet flexible architecture (described here) provides an extremely powerful platform for implementing debugging and analysis features.
... we would like to use web replay to radically improve not just the debugging experience but the entire web development experience.
... this section describes some analyses that could be performed and be helpful for developers who are either debugging a problem, or trying to understand or improve a complex code base.
... if the debugger could perform this analysis then it could show this information to developers and help them understand the app even when they are not actively debugging a particular recording.
Mozilla
debugging debugging a project as large as mozilla can be a daunting task.
...also available are assorted tools that you can use when debugging.
...the nightly debug builds are now also source indexed so that by following a couple of simple steps you can also have the source code served to you for debugging without a local build using the mozilla symbol server the mozilla project runs a symbol server for trunk firefox nightly and release builds on windows.
...this allows debugging of those builds without forcing all users to download large debugging files.
JavaScript
it is a restricted variant of ecmascript 5, for faster performance and easier debugging.
... tools & resources helpful tools for writing and debugging your javascript code.
... jsbin js bin is an open-source collaborative web development debugging tool.
... stackblitz stackblitz is another online playground/debugging tool, which can host and deploy full-stack applications using react, angular, etc.
Setting Up a Development Environment - Archive of obsolete content
once you're testing and debugging your code, you'll find that constantly building and installing an xpi can be very tedious.
...it is specially unreliable when debugging code in javascript xpcom and xbl files.
...we'll cover more on http debugging later on.
Venkman - Archive of obsolete content
it aims to provide a powerful javascript debugging environment for mozilla based browsers namely firefox, netscape 7.x/9.x and seamonkey.
... learning the javascript debugger venkman written by svend tofte to the javascript programmers who are not familiar with other debugging tools.
...in order to keep things modular, he began by creating a mid-level javascript debugging api known as js/jsd.
Getting started with XULRunner - Archive of obsolete content
here is mine: pref("toolkit.defaultchromeuri", "chrome://myapp/content/main.xul"); /* debugging prefs, disable these before you deploy your application!
... the debugging preferences are discussed in debugging a xulrunner application step 7: create some xul finally, we need to create a simple xul window, which is described in the file main.xul.
...from a windows command prompt opened to the myapp folder, we should be able to execute this: c:\path\to\xulrunner.exe application.ini of course, if you opted to install xulrunner then you could simply do ​%programfiles%\xulrunner.exe application.ini or on 64 bit systems ​%programfiles(x86)%\xulrunner.exe application.ini note: you can also install your application when you're finished debugging it.
Tools for game development - Game development
on this page you can find links to our game development tools articles, which eventually aims to cover frameworks, compilers, and debugging tools.
... toolchain for developing and debugging games how does this differ from normal web app debugging?
...a lot of this is going to be covered by will in tools, but here we should provide a kind of practical toolchain tutorial for debugging games, with links to will's stuff: basic tools overview shader editor performance tools (still in production, estimated early 2014) ...
CSS building blocks - Learn web development
this module looks at the cascade and inheritance, all the selector types we have available, units, sizing, styling backgrounds and borders, debugging, and lots more.
... debugging css sometimes when writing css you will encounter an issue where your css doesn't seem to be doing what you expect.
... this article will give you guidance on how to go about debugging a css problem, and show you how the devtools included in all modern browsers can help you find out what is going on.
What are browser developer tools? - Learn web development
very useful for debugging and testing.
... file list the first pane on the left contains the list of files associated with the page you are debugging.
... find out more find more out about the javascript debugger in different browsers: firefox javascript debugger microsoft edge debugger chrome debugger safari debugger the javascript console the javascript console is an incredibly useful tool for debugging javascript that isn't working as expected.
Solve common problems in your JavaScript code - Learn web development
debugging javascript what are the basic types of error?
... how do you use breakpoints and other javascript debugging features?
... for more information on javascript debugging, see handling common javascript problems.
Command line options
see the article on remotely debugging firefox desktop.
... miscellaneous -attach-console write messages for the debugging console into the window which launched the application instead of opening a new window for the debugging messages.
... -console start application with a debugging console.
Creating a Login Manager storage module
to see some debugging output in the console set signon.debug to true using about:config.
...torage/sample;1", classid: components.id("{364a118c-747a-4f6d-ac63-2d2998e5a5c1}"), queryinterface: xpcomutils.generateqi([ci.nsiloginmanagerstorage]), // this registers the category for overriding the built-in nsiloginmanagerstorage _xpcom_categories: [ { category: "login-manager-storage", entry: "nsiloginmanagerstorage" } ], // console logging service, used for debugging.
... getservice(ci.nsiconsoleservice); return this.__logservice; }, log: function (message) { dump("sampleloginmanager: " + message + "\n"); this._logservice.logstringmessage("sampleloginmanager: " + message); }, // logs function name and arguments for debugging stub: function(arguments) { var args = []; for (let i = 0; i < arguments.length; i++) args.push(arguments[i]) this.log("called " + arguments.callee.name + "(" + args.join(",") + ")"); }, init: function slms_init() { this.stub(arguments); }, initwithfile: function slms_initwithfile(ainputfile, aoutputfile) { this.stub(arguments); }, addlogin: function slms_...
HTTP logging
sometimes, while debugging your web app (or client-side code using necko), it can be useful to log http traffic.
... export moz_log=timestamp,rotate:200,nshttp:5,cache2:5,nssockettransport:5,nshostresolver:5,cookie:5 export moz_log_file=/tmp/log.txt cd /path/to/firefox ./firefox reproduce the problem you're debugging.
... turning off logging of socket-level transactions if you're not interested in socket-level log information, either because it's not relevant to your bug or because you're debugging something that includes a lot of noise that's hard to parse through, you can do that.
Configuring Build Options
if you want to use the build regularly, you will want a release build without extra debugging information; if you are a developer who wants to hack the source code, you probably want a non-optimized build with extra debugging macros.
... you can make an optimized build with debugging symbols.
... firefox, debugging build (mac os x 64bits) thunderbird, debugging build (linux 64 bits) building multiple applications from the same source tree it is possible to build multiple applications from the same source tree, as long as you use a different objdir for each application.
Eclipse CDT Manual Setup
if you will not be using eclipse for debugging, select "c/c++ build > settings" on the left, select the "binary parsers" tab, and make sure that all the parsers are deselected.
... this prevents the (useless if not debugging) "searching for binaries" action from constantly interrupting everything.
... if you will be using eclipse for debugging, select "c/c++ general > paths and symbols" and select the "output location" tab.
JS_SET_TRACING_DETAILS
this article covers features introduced in spidermonkey 1.8 set debugging information about the next thing to be traced by a jstracer.
... syntax js_set_tracing_details(trc, printer, arg, index) name type description trc jstracer * the tracer whose debugging hooks are to be set.
... description set debugging information about a reference to a traceable thing to prepare for the following call to js_calltracer.
Mailnews and Mail code review requirements
rubber-stamp approvals for intermittently failing ("orange") test fixes/debugging in order to make it easier to debug and fix tests that fail intermittently ("intermittent orange" tests), we have created the following two rubber-stamps based on this proposal on the tb-planning mailing list.
... the procedure to use these is to be sure to: include "rs=simple-orange-fix" or "rs=orange-debugging" in the first line of the commit message paste a link to the pushed commit with the rubber stamp in the bug make sure you pasted a link to any try-server pushes of the patch in the bug rs=simple-orange-fix requirements: the patch is fixing an intermittent orange test failure.
... rs=orange-debugging requirements: the patch is trying to fix an intermittent orange test failure.
Browser Toolbox - Firefox Developer Tools
to enable it you need to check the settings "enable chrome and addon debugging" and "enable remote debugging".
... to do this, open the developer tools settings, go to the section "advanced settings", and check the settings "enable browser chrome and add-on debugging toolboxes" and "enable remote debugging".
... for example, here's what the frame selection popup lists when there are two browser windows open, one with one content tab, and one with two: debugging popups it's hard to debug popups, because the browser hides them as soon as you click outside them.
Debugger-API - Firefox Developer Tools
the debugger interface mozilla’s javascript engine, spidermonkey, provides a debugging interface named debugger which lets javascript code observe and manipulate the execution of other javascript code.
... it is an intra-thread debugging api.
... gecko-specific features while the debugger core api deals only with concepts common to any javascript implementation, it also includes some gecko-specific features: [global tracking][global] supports debugging all the code running in a gecko instance at once—the ‘chrome debugging’ model.
Settings - Firefox Developer Tools
enable browser chrome and add-on debugging toolboxes enable you to use developer tools in the context of the browser itself, and not only web content.
... enable remote debugging enable the developer tools to debug remote firefox instances.
... enable worker debugging enable a panel within the debugger to debug workers.
Tips - Firefox Developer Tools
web console in all panels: esc opens the split console; useful when debugging, or inspecting nodes in the command line: $0 references the currently selected node.
... debugger skip javascript libraries in debugging sessions via the black box icon ().
... check "disable http cache (when toolbox is open)" in the settings to disable the network cache while debugging network issues.
Web Console remoting - Firefox Developer Tools
for communication between the server and the client we use the remote debugging protocol.
...this actor is used for the browser console implementation and for debugging remote firefox/b2g instances.
...the web console actor sends these messages to the remote debugging client.
Firefox Developer Tools
application panel provides tools for inspecting and debugging modern web apps (also known as progressive web apps).
... about:debugging debug add-ons, content tabs, and workers running in the browser.
... debugging the browser by default, the developer tools are attached to a web page or web app.
Console API - Web APIs
the console api provides functionality to allow developers to perform debugging tasks, such as logging messages or the values of variables at set points in your code, or timing how long an operation takes to complete.
...find out about these at: google chrome devtools implementation safari devtools implementation usage is very simple — the console object — available via window.console, or workerglobalscope.console in workers; accessible using just console — contains many methods that you can call to perform rudimentary debugging tasks, generally focused around logging various values to the browser's web console.
... interfaces console provides rudimentary debugging functionality, including logging, stack traces, timers, and counters.
Pinch zoom gestures - Web APIs
<body onload="init();" style="touch-action:none"> <div id="target">touch and hold with 2 pointers, then pinch in or out.<br/> the background color will change to pink if the pinch is opening (zoom in) or changes to lightblue if the pinch is closing (zoom out).</div> <!-- ui for logging/debugging --> <button id="log" onclick="enablelog(event);">start/stop event logging</button> <button id="clearlog" onclick="clearlog(event);">clear the log</button> <p></p> <output></output> </body> miscellaneous functions these functions support the application but aren't directly involved in the event flow.
... function remove_event(ev) { // remove this event from the target's cache for (var i = 0; i < evcache.length; i++) { if (evcache[i].pointerid == ev.pointerid) { evcache.splice(i, 1); break; } } } event logging these functions are used to send event activity to the application's window (to support debugging and learning about the event flow).
... // log events flag var logevents = false; // logging/debugging functions function enablelog(ev) { logevents = logevents ?
A re-introduction to JavaScript (JS tutorial) - JavaScript
this is very rarely what you want — in fact it's worth specifically labeling deliberate fallthrough with a comment if you really meant it to aid debugging: switch (a) { case 1: // fallthrough case 2: eatit(); break; default: donothing(); } the default clause is optional.
...the name also shows up in the debugger and some stack traces, which can save you time when debugging.
...this is useful for debugging our person objects: var s = new person('simon', 'willison'); s.tostring(); // [object object] person.prototype.tostring = function() { return '<person: ' + this.fullname() + '>'; } s.tostring(); // "<person: simon willison>" remember how avg.apply() had a null first argument?
Object.create() - JavaScript
this is especially true when debugging, since common object-property converting/detecting utility functions may generate errors, or simply lose information (especially if using silent error-traps that ignore errors).
...() // throws error: ocn.tostring is not a function > oco.valueof() // shows {} > ocn.valueof() // throws error: ocn.valueof is not a function > oco.hasownproperty("p") // shows "true" > ocn.hasownproperty("p") // throws error: ocn.hasownproperty is not a function > oco.constructor // shows "object() { [native code] }" > ocn.constructor // shows "undefined" as said, these differences can make debugging even simple-seeming problems quickly go astray.
... for example: a simple common debugging function: // display top-level property name:value pairs of given object function showproperties(obj){ for(var prop in obj){ console.log(prop + ": " + obj[prop] + "\n" ); } } not such simple results: (especially if silent error-trapping had hidden the error messages) ob={}; ob.po=oco; ob.pn=ocn; // create a compound object using the test objects from above as property values > showproperties( ob ) // display top-level properties - po: [object object] - error: cannot convert object to primitive value note that only first property gets shown.
Chapter 6: Firefox extensions and XUL applications - Archive of obsolete content
targeting javascript for debugging.
...this is because a lot of javascript files can slow down the browser down if they’re opened for debugging, but you’ll need to lift this restriction in order to develop extensions.
Index of archived content - Archive of obsolete content
gposts build bundlelibrary bundles configuration extensions faq hostwindow installer scripting styling proxy ui pydom rdf api rdf datasource how-to reading textual data remote xul remote debugging rsyncing the cvs repository running windows debug builds downloaded from tinderbox sxsw 2007 presentations safe browsing safe browsing: design documentation safely loading uris same origin policy for xbl space manager detailed design space manager high level design standalone xpcom standa...
... xulrunner application update article building xulrunner building xulrunner with python commandline components creating xulrunner apps with the mozilla build system creating a windows inno setup installer for xulrunner applications custom app bundles for mac os x debugging a xulrunner application deploying xulrunner dialogs in xulrunner getting started with xulrunner how to enable locale switching in a xulrunner application macfaq make your xulrunner app match the system locale opening a link in the default browser specifying startup chrome window using crash...
Migrate apps from Internet Explorer to Mozilla - Archive of obsolete content
javascript console evaluating mozilla's javascript engine has built-in support for debugging, and thus can provide powerful tools for javascript developers.
...it supports such standard debugging features as breakpoint management, call stack inspection, and variable/object inspection.
Table Layout Regression Tests - Archive of obsolete content
1 " /> <tableborder data="1 null null 0 2 " /> <content data="0 0 0 null " /> <quotes data="0 " /> <ui data="3 0 0 1 " /> <uireset data="7 0 4" /> <xul data="0 0 0 0 0 1 <svg data="0 1.000000 1.000000 0 1.000000" /> </stylecontext> the baseline log will look like: type manifest file: e:\moz_src\mozilla\obj-i586-pc-msvc\dist\bin\components\xpti.dat +++ javascript debugging hooks installed.
...a typical part of the verify log would look like: type manifest file: e:\moz_src\mozilla\obj-i586-pc-msvc\dist\bin\components\xpti.dat +++ javascript debugging hooks installed.
Tamarin build documentation - Archive of obsolete content
the tamarin codebase has the ability to build additional code which supports debugging hooks.
...the flash player builds tamarin with the debugging hooks off for codesize reasons, but the mozilla client will build tamarin with the debugging hooks on.
Index - Archive of obsolete content
ArchiveMozillaXULIndex
both types of builders implement the nsixultemplatebuilder interface, while the tree builder also implements the nsixultreebuilder interface.</tree> 946 template logging debugging problems with a template can be difficult as many problems are logic errors that are often not possible to determine automatically.
...fortunately, some debugging and logging support is provided with templates that may help.
Tamarin Tracing Build Documentation - Archive of obsolete content
the tamarin codebase has the ability to build additional code which supports debugging hooks.
...the flash player builds tamarin with the debugging hooks off for codesize reasons, but the mozilla client will build tamarin with the debugging hooks on.
Debug.debuggerEnabled - Archive of obsolete content
the debug.debuggerenabled property determines whether debugging is enabled for the script context.
... debugging may be enabled or disabled whether or not a debugger is attached.
Debug - Archive of obsolete content
3 properties debug.debuggerenabled determines whether debugging is enabled for the script context.
... debugging may be enabled or disabled whether or not a debugger is attached.
Developing Mozilla XForms - Archive of obsolete content
debugging always start with a debug build of the xforms and the schema-validation extensions.
...you should create a new, clean profile for debugging.
Cascade and inheritance - Learn web development
!important changes the way the cascade normally works, so it can make debugging css problems really hard to work out, especially in a large stylesheet.
... overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Styling tables - Learn web development
the next article explores debugging css — how to solve problems such as layouts not looking like they should, or properties not applying when you think they should.
...us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Introduction to cross browser testing - Learn web development
before you even get to cross browser issues, you should have already fixed out bugs in your code (see debugging html, debugging css, and what went wrong?
...finding out the cause of the bug involves the same strategy as any web development bug (again, see debugging html, debugging css, and what went wrong?
Gecko Logging
debug 4 a debug message, useful for debugging but too verbose to be turned on normally.
... verbose 5 a message that will be printed a lot, useful for debugging program flow and will probably impact performance.
Implementing QueryInterface
in general, i disapprove of macros except in cases where the macro must expand to different text in different situations, e.g., different platforms, debugging vs.
... non-debugging, et al.
AsyncShutdown.jsm
// collect any information that may be useful for debugging shutdown issues with this blocker return status; } }); in this example, at some point during phase profilebeforechange, function condition will be called.
...used for debugging/error reporting.
Promise
promise catch( function onreject ); the following calls are therefore identical: p.then(undefined, logerror); p.catch(logerror); debugging by design, the instant state and value of a promise cannot be inspected synchronously from code, without calling the then() method.
... to help with debugging, only when inspecting a promise object manually, you can see more information as special properties that are inaccessible from code (this, at present, is implemented by randomizing the property name, for the lack of more sophisticated language or debugger support).
Investigating leaks using DMD heap scan mode
this is mostly useful for larger objects, and you can potentially combine this with debugging information to figure out exactly what field this is.
... example analysis of block_analyzer.py results in one debugging session where i was investigating the leak from bug 1451985, i eventually reduced the list of entries until this was the most suspicious looking entry: 0x7f0892f29630 size = 392 bytes at byte offset 56 mozilla::dom::scriptloader::processexternalscript[...] [...] i went to that line of scriptloader::processexternalscript(), and it contained a call to scriptloader::createloadrequest().
Index
it is separated in 2 parts, one section related to debugging and another section related to drafting optimizations.
... 439 js_set_tracing_details jsapi reference, spidermonkey set debugging information about the next thing to be traced by a jstracer.
Introduction to the JavaScript shell
set the level of gc zeal, a debugging feature.
... this is a powerful debugging mechanism when used in concert with line2pc().
JSAPI User Guide
these two functions, both available only in debug builds, are especially useful for debugging gc-related crashes: use js_setgczeal to enable extra garbage collection.
...it's for development and debugging only, because the extra garbage collection makes js very slow.
TPS Tests
for example, consider the first action in the phase above: [bookmarks.add, bookmarks_initial] you could rewrite this as a custom function so as to add some custom logging: [async () => { logger.loginfo("adding bookmarks_initial"); await bookmarks.add(bookmarks_initial); }] note that this is probably best used for debugging, and new tests that want custom behavior should add it to the tps addon so that other tests can use it.
... troubleshooting and debugging tips for writing and running tps tests tps evaluates the whole file in every phase, so any syntax error(s) in the file will get reported in phase 1, even though the error may not be in phase 1 itself.
Mozilla Projects
the low level, yet flexible architecture (described here) provides an extremely powerful platform for implementing debugging and analysis features.
... we would like to use web replay to radically improve not just the debugging experience but the entire web development experience.
Index
MozillaTechXPCOMIndex
537 nsidebug interfaces, interfaces:scriptable, xpcom, xpcom interface reference note: c/c++ consumers who are planning to use the nsidebug interface with the @mozilla.org/xpcom;1 contract should use ns_debugbreak() from xpcom glue instead, or alternatively the ns_abort, ns_assertion, ns_break, and ns_warning macros, which also call ns_debugbreak() if used in a debugging build.
... 538 nsidebug2 debugging, interfaces, interfaces:scriptable, xpcom interface reference no summary!
Components.utils.reportError
this means you can use components.utils.reporterror to report debugging messages to the error console, just like dump() can be used to print messages to the native console.
... examples usage in an exception handler: try { this.could.raise.an.exception; } catch(e) { components.utils.reporterror(e); // report the error and continue execution } sending debugging messages to the error console: components.utils.reporterror("init() called"); ...
nsIDebug
xpcom/base/nsidebug.idlscriptable provides debugging support for scripted languages, such as javascript, java, python, perl, and so forth.
... inherits from: nsisupports last changed in gecko 1.7 note: c/c++ consumers who are planning to use the nsidebug interface with the @mozilla.org/xpcom;1 contract should use ns_debugbreak() from xpcom glue instead, or alternatively the ns_abort, ns_assertion, ns_break, and ns_warning macros, which also call ns_debugbreak() if used in a debugging build.
Using the Mozilla source server
the nightly debug builds are now also source indexed so that by following a couple of simple steps you can also have the source code served to you for debugging without a local build what you'll need windbg or visual studio (note: express editions will not work, but windbg is a free download) a nightly build that was created after april 15, 2008; go to the /pub/firefox/nightly/latest-mozilla-central/ folder and grab the installer for builds predating the switch to mercurial, you'll need cvs.exe, added to your path (the cvs.exe from mozillabuild has problems, use this one instead) note: do not use the cvs from mozillabuild, it will not work!
... start debugging your program.
Int64
tosource() this method is for internal debugging use only.
... warning: do not rely on the value returned by this method, as it's subject to change at any time, depending on the debugging needs of the developers.
UInt64
tosource() this method is for internal debugging use only.
... warning: do not rely on the value returned by this method, as it's subject to change at any time, depending on the debugging needs of the developers.
Browser Console - Firefox Developer Tools
to enable it set the devtools.chrome.enabled preference to true in about:config, or set the "enable browser chrome and add-on debugging toolboxes" (firefox 40 and later) option in the developer tool settings.
...to enable it set the devtools.chrome.enabled preference to true in about:config, or set the "enable chrome debugging" option in the developer tool settings.
Set a breakpoint - Firefox Developer Tools
breakpoints in brief breakpoints are very useful when debugging javascript — you basically set a point in your code where you would like execution of the code to pause.
... continue to here: when stepping through code, this option tells the debugging to continue execution through to this point.
Set event listener breakpoints - Firefox Developer Tools
starting with firefox 69, debugging an application that includes event handlers is simplified because the debugger now includes the ability to automatically break when the code hits an event handler.
... this is also useful when debugging code that you're unfamiliar with, to save time over hunting down your event handler within your code, or when trying to understand why a web site isn't working as expected in your browser.
UI Tour - Firefox Developer Tools
toolbar at the top of the right-hand pane, there's a toolbar: the toolbar consists of: four buttons to control the debugger's movement through the script: play/pause (f8): pauses or resumes execution of the script you're debugging.
... source maps: enabled by default, this option directs the debugger to load the original versions of files, and map them to the generated ones loaded in a page, to ease debugging of translformed sources.
Tutorial: Set a breakpoint - Firefox Developer Tools
to do this, open the firefox developer tools, click on the options gear at the upper right of the toolbox, and make sure that both “enable browser chrome and add-on debugging toolboxes” and “enable remote debugging” are checked.
... click on the scratchpad panel and enter the following code: components.utils.import("resource://gre/modules/jsdebugger.jsm"); components.utils.import("resource://gre/modules/console.jsm"); // this simply defines 'debugger' in this scratchpad; // it doesn't actually start debugging anything.
Deprecated tools - Firefox Developer Tools
alternatives remote debugging is available in about:debugging as of firefox 68.
... features not ported to about:debugging are: wifi debugging for firefox for android, application development.
Multi-touch interaction - Web APIs
<body onload="init();" style="touch-action:none"> <div id="target1"> tap, hold or swipe me 1</div> <div id="target2"> tap, hold or swipe me 2</div> <div id="target3"> tap, hold or swipe me 3</div> <!-- ui for logging/debugging --> <button id="log" onclick="enablelog(event);">start/stop event logging</button> <button id="clearlog" onclick="clearlog(event);">clear the log</button> <p></p> <output></output> </body> miscellaneous functions these functions support the application but aren't directly involved with the event flow.
... 1: // single touch point ev.target.style.background = "yellow"; break; case 2: // two simultaneous touch points ev.target.style.background = "pink"; break; default: // three or more simultaneous touches ev.target.style.background = "lightblue"; } } event logging these functions are used send to event activity to the application window (to support debugging and learning about the event flow).
PromiseRejectionEvent - Web APIs
these events are particularly useful for telemetry and debugging purposes.
... examples this simple example catches unhandled promise rejections and logs them for debugging purposes.
RTCIceCandidate.relatedPort - Web APIs
they may in fact be omitted for security reasons, but if present can be a useful tool during debugging.
... example in this example, the candidate's type is checked, and then debugging output is presented, based on the candidate type, including the candidate's type, address (ip and port), and related address (relatedaddress and relatedport).
SharedWorker() - Web APIs
name optional a domstring specifying an identifying name for the sharedworkerglobalscope representing the scope of the worker, which is mainly useful for debugging purposes.
... name: a domstring specifying an identifying name for the sharedworkerglobalscope representing the scope of the worker, which is mainly useful for debugging purposes.
WEBGL_debug_renderer_info - Web APIs
the webgl_debug_renderer_info extension is part of the webgl api and exposes two constants with information about the graphics driver for debugging purposes.
... examples with the help of this extension, privileged contexts are able to retrieve debugging information about about the user's graphic driver: var canvas = document.getelementbyid('canvas'); var gl = canvas.getcontext('webgl'); var debuginfo = gl.getextension('webgl_debug_renderer_info'); var vendor = gl.getparameter(debuginfo.unmasked_vendor_webgl); var renderer = gl.getparameter(debuginfo.unmasked_renderer_webgl); console.log(vendor); console.log(renderer); specifications ...
CSS: Cascading Style Sheets
WebCSS
this module looks at the cascade and inheritance, all the selector types we have available, units, sizing, styling backgrounds and borders, debugging, and lots more.
...this is an invaluable debugging tool.
Memory Management - JavaScript
node.js node.js offers additional options and tools for configuring and debugging memory issues that may not be available for javascript executed within a browser environment.
... v8 engine flags the max amount of available heap memory can be increased with a flag: node --max-old-space-size=6000 index.js we can also expose the garbage collector for debugging memory issues using a flag and the chrome debugger: node --expose-gc --inspect index.js see also ibm article on "memory leak patterns in javascript" (2007) kangax article on how to register event handler and avoid memory leaks (2010) performance ...
debugger - JavaScript
the debugger statement invokes any available debugging functionality, such as setting a breakpoint.
... if no debugging functionality is available, this statement has no effect.
Statements and declarations - JavaScript
others debugger invokes any available debugging functionality.
... if no debugging functionality is available, this statement has no effect.
simple-storage - Archive of obsolete content
important: if you use this method, you must end your debugging session by quitting firefox normally, not by cancelling the shell command.
/loader - Archive of obsolete content
id add-on debugging requires knowing which objects belong to which add-on.
jpm - Archive of obsolete content
see the debugging section if you are experiencing difficulty installing a signed add-on.
Logging - Archive of obsolete content
the dom console object is useful for debugging javascript.
Developing for Firefox Mobile - Archive of obsolete content
enable usb debugging on the device (step 2 of this link only) on the development machine: install version 1.5 or higher of the add-on sdk install the correct version of the android sdk for your device using the android sdk, install the android platform tools next, attach the device to the development machine via usb.
Extension Versioning, Update and Compatibility - Archive of obsolete content
debugging and solving problems the update mechanism logs information to the console, and display various information which can help you to find problem.
Jetpack Processes - Archive of obsolete content
individual lines of the form //@line 1 "foo.js" can be used to specify filename and line number information for debugging purposes.
Adding windows and dialogs - Archive of obsolete content
it's ok to use this function if you're just debugging some problem and want to see if the program reaches a specific line of code, or to inspect the value of a variable, but your final extension should not have alert calls anywhere.
Connecting to Remote Content - Archive of obsolete content
http debugging when you start debugging http requests, you may find it hard to know exactly what data was sent, especially with post data.
MCD, Mission Control Desktop, AKA AutoConfig - Archive of obsolete content
debugging - bugzilla run time messages note: the presence of var env_mozdebug=getenv("mozilla_debug")allows user to print debugging messages if mozilla_debug is defined in either the shell for unix (export mozilla_debug=1) or in the command.com environment in windows (set mozilla_debug=1).
Dehydra Function Reference - Archive of obsolete content
it is a mainly useful for debugging dehydra for rooting bugs.
Extension Frequently Asked Questions - Archive of obsolete content
before asking for help, be sure to set the debugging prefs and check the error console for related messages.
JavaScript Client API - Archive of obsolete content
testing and debugging your engine set observers in the tracker to tell when your datatype changes, after which the score needs to be set.
Plug-n-Hack - Archive of obsolete content
or example, to configure a browser to use an intercepting proxy that can handle https traffic, the user must typically: configure their browser to proxy via the tool configure the tool to proxy via their corporate proxy import the tool’s ssl certificate into their browser if any of these steps are carried out incorrectly then the browser will typically fail to connect to any website – debugging such problems can be frustrating and time-consuming.
Priority Content - Archive of obsolete content
started: using mozilla in testing and debugging web sites original: using mozilla in testing and debugging web sites wiki location: using mozilla in testing and debugging web sites migrators: serge k.
Frequently Asked Questions - Archive of obsolete content
this is an xml debugging message to help xml authors correct errors in their xml documents.
Running Tamarin acceptance tests - Archive of obsolete content
under settings->applications->development, is usb debugging enabled?
Running Tamarin performance tests - Archive of obsolete content
under settings->applications->development, is usb debugging enabled?
Video presentations - Archive of obsolete content
(as quicktime; 138 mb and 132 mb) developing mozilla these presentations cover various aspects of the process of working on the mozilla project, including building, testing, and debugging.
Unix stub installer - Archive of obsolete content
copy the xpi directory into the src2 directory you are debugging from.
Adding Event Handlers - Archive of obsolete content
you can also change the preference javascript.options.strict for debugging.
XUL accessibility tool - Archive of obsolete content
improve tool along the way add checking tool to dom inspector or other popular xul debugging tools.
Building XULRunner with Python - Archive of obsolete content
it effectively specifies a release build that is not particularly suitable for debugging xulrunner itself.
Creating XULRunner Apps with the Mozilla Build System - Archive of obsolete content
you can add other preferences for things like debugging, as mccoy does (e.g.
xulauncher - Archive of obsolete content
ko] minversion=1.8 maxversion=1.9 ">$xulappini # create chrome.manifest file ############################################################################## echo " content $xulname file:$xulname/ ">$xulmanifest # create prefs.js file ############################################################################## echo " pref(\"toolkit.defaultchromeuri\", \"chrome://$xulname/content/$xulfile\"); /* debugging prefs */ pref(\"browser.dom.window.dump.enabled\", true); pref(\"javascript.options.showinconsole\", true); pref(\"javascript.options.strict\", true); pref(\"nglayout.debug.disable_xul_cache\", true); pref(\"nglayout.debug.disable_xul_fastload\", true); ">$xulprefs # copy xul file to right location and run it ############################################################################## cp $xulf...
Archived Mozilla and build documentation - Archive of obsolete content
it aims to provide a powerful javascript debugging environment for mozilla based browsers namely firefox, netscape 7.x/9.x and seamonkey.
Extentsions FAQ - Archive of obsolete content
http://developer.mozilla.org/en/docs...pcom_component would anyone be able to suggest the best way to do source level debugging in a firefox extension?
2006-12-01 - Archive of obsolete content
debugging firefox extesnion?
Plugins - Archive of obsolete content
logging and debugging for multi-process plugins how to create a plugin log to aid in debugging problems with multi-process plugins.
Table Reflow Internals - Archive of obsolete content
table reflow example <table width=300> <tr> <td>foo</td> <td>bar zap</td> </tr> </table> key: r = reflow reason, 0 (initial), 2 (resize) a = avail w, h c = computed w, h d = desired w, h me = max elem w debugging frame reflow gives instructions for turning this on: tblo 030176cc r=0 a=8940,uc c=0,0 cnt=429 tbl 030178c4 r=0 a=8940,uc c=4470,uc cnt=430 rowg 03017a7c r=0 a=uc,uc c=uc,uc cnt=431 row 03017c08 r=0 a=uc,uc c=uc,uc cnt=432 cell 03017da8 r=0 a=uc,uc c=uc,uc cnt=433 block 03017e08 r=0 a=uc,uc c=uc,uc cnt=434 block 03017e08 d=870,300 me=480 cell 03017da8 d=930,...
Scratchpad - Archive of obsolete content
to do this check "enable chrome and add-on debugging" in the developer tool settings.
References - Archive of obsolete content
from matt kruse debugging html and css is a well designed website explaining well the how, why and where of html validation, css validation and debugging tools.
Debug.msTraceAsyncCallbackStarting - Archive of obsolete content
note: some debugging tools do not display the information sent to the debugger.
Debug.msTraceAsyncCallbackCompleted - Archive of obsolete content
the possible values for status include: debug.ms_async_op_status_success debug.ms_async_op_status_canceled debug.ms_async_op_status_error note: some debugging tools do not display the information sent to the debugger.
Debug.msUpdateAsyncCallbackRelation - Archive of obsolete content
note: some debugging tools do not display the information sent to the debugger by this function.
Debug.setNonUserCodeExceptions - Archive of obsolete content
for more information on debugging, see the active script debugging overview.
Debug.write - Archive of obsolete content
if you are using an earlier version of internet explorer, see how to: enable and start script debugging from internet explorer.
Debug.writeln - Archive of obsolete content
if you are using an earlier version of internet explorer, see how to: enable and start script debugging from internet explorer.
Object.prototype.unwatch() - Archive of obsolete content
description the javascript debugger has functionality similar to that provided by this method, as well as other debugging options.
Object.prototype.watch() - Archive of obsolete content
the javascript debugger has functionality similar to that provided by this method, as well as other debugging options.
Back to the Server: Server-Side JavaScript On The Rise - Archive of obsolete content
for debugging, jaxer will also send database errors to the client if you want.
Standards-Compliant Authoring Tools - Archive of obsolete content
macromedia™ dreamweaver™ cs6 style master and layout master by western civilisation some caveats: it appears that tools currently available from namo generate ie-specific or netscape 4-specific code that may require extra debugging for compatibility with standards-based browsers.
Choosing Standards Compliance Over Proprietary Practices - Archive of obsolete content
pilot had a highly-integrated debugging tool called co-pilot that allowed the xerox development organization to quickly and easily debug issues.
RDF in Mozilla FAQ - Archive of obsolete content
this is useful for debugging generated rdf/xml that may change over time.
Anatomy of a video game - Game development
note: changing how your main loop deals with time is a debugging nightmare, everywhere.
Index - Game development
39 tools for game development games, gecko, guide, javascript on this page you can find links to our game development tools articles, which eventually aims to cover frameworks, compilers, and debugging tools.
Game distribution - Game development
plus, it is usually easier to build and test the game first on desktop, and then move on to debugging mobile.
Desktop gamepad controls - Game development
received values are assigned to the proper objects and returns the pressed info for debugging purposes.
Implementing controls using the Gamepad API - Game development
if(c.buttons[b].pressed) { pressed.push(gamepadapi.buttons[b]); } } } // loop through axes and push their values to the array var axes = []; if(c.axes) { for(var a=0,x=c.axes.length; a<x; a++) { axes.push(c.axes[a].tofixed(2)); } } // assign received values gamepadapi.axesstatus = axes; gamepadapi.buttonsstatus = pressed; // return buttons for debugging purposes return pressed; }, on every frame, update() saves buttons pressed during the previous frame to the buttonscache array and takes fresh ones from the gamepadapi.controller object.
First-class Function - MDN Web Docs Glossary: Definitions of Web-related terms
naming it will be helpful when debugging your code.
Symbol - MDN Web Docs Glossary: Definitions of Web-related terms
symbol can have an optional description, but for debugging purposes only.
Backgrounds and borders - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Handling different text directions - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Images, media, and form elements - Learn web development
previous overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Organizing your CSS - Learn web development
previous overview: building blocks in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Overflowing content - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Attribute selectors - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Combinators - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Pseudo-classes and pseudo-elements - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Type, class, and ID selectors - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
CSS selectors - Learn web development
or h1 ~ p general sibling in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
Sizing items in CSS - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
The box model - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
CSS values and units - Learn web development
us overview: building blocks next in this module cascade and inheritance css selectors type, class, and id selectors attribute selectors pseudo-classes and pseudo-elements combinators the box model backgrounds and borders handling different text directions overflowing content values and units sizing items in css images, media, and form elements styling tables debugging css organizing your css ...
How CSS works - Learn web development
the updated output is as follows: in our debugging css article in the next module we will be using browser devtools to debug css problems, and will learn more about how the browser interprets css.
Learn to style HTML using CSS - Learn web development
this module looks at the cascade and inheritance, all the selector types we have available, units, sizing, styling backgrounds and borders, debugging, and lots more.
Common questions - Learn web development
every browser features a set of devtools for debugging html, css, and other web code.
Publishing your website - Learn web development
generally speaking, these tools are relatively easy, great for learning, good for sharing code (for example, if you want to share a technique with or ask for debugging help from colleagues in a different office), and free (for basic features).
Advanced text formatting - Learn web development
metadata in html html text fundamentals creating hyperlinks advanced text formatting document and website structure debugging html marking up a letter structuring a page of content ...
Creating hyperlinks - Learn web development
metadata in html html text fundamentals creating hyperlinks advanced text formatting document and website structure debugging html marking up a letter structuring a page of content ...
HTML text fundamentals - Learn web development
metadata in html html text fundamentals creating hyperlinks advanced text formatting document and website structure debugging html marking up a letter structuring a page of content ...
Marking up a letter - Learn web development
metadata in html html text fundamentals creating hyperlinks advanced text formatting document and website structure debugging html marking up a letter structuring a page of content ...
Structuring a page of content - Learn web development
metadata in html html text fundamentals creating hyperlinks advanced text formatting document and website structure debugging html marking up a letter structuring a page of content ...
What’s in the head? Metadata in HTML - Learn web development
metadata in html html text fundamentals creating hyperlinks advanced text formatting document and website structure debugging html marking up a letter structuring a page of content ...
Introduction to HTML - Learn web development
debugging html writing html is fine, but what if something goes wrong, and you can't work out where the error in the code is?
Responsive images - Learn web development
when testing it with a mobile browser, you can use tools like firefox's about:debugging page to inspect the page loaded on the mobile using the desktop developer tools.
Storing the information you need — Variables - Learn web development
there are many reasons why you'd want to do this, from security (if a third party script changed such values it could cause problems) to debugging and code comprehension (it is harder to accidentally change values that shouldn't be changed and mess things up).
What went wrong? Troubleshooting JavaScript - Learn web development
add the following code on line 49: console.log(loworhi); note: console.log() is a really useful debugging function that prints a value to the console.
Ember resources and troubleshooting - Learn web development
for framework-specific things, there is the ember-inspector add-on, which allows inspection of: routes & controllers components services promises data (i.e: from a remote api — from ember-data, by default) deprecation information render performance for general javascript debugging, check out our guides on javascript debugging as well as interacting with the browser's other debugging tools.
Dynamic behavior in Svelte: working with variables and props - Learn web development
basic debugging with console.log() and reactive statements.
Creating our first Vue component - Learn web development
in part, components editing props can make debugging a challenge.
Handling common HTML and CSS problems - Learn web development
in our debugging html and debugging css articles, we provided some really basic guidance on debugging html/css — if you are not familiar with the basics, you should definitely study these articles before carrying on.
Tools and testing - Learn web development
for example, you'll need to know the fundamentals of these languages before you start debugging problems in complex web code, making effective use of javascript frameworks, or writing tests and running them against your code using test runners.
Benchmarking
another option that is on by default in non-release builds is the preference javascript.options.asyncstack, which provides better debugging information to developers.
Chrome registration
global classic/1.0 jar:classic.jar!/skin/classic/global/ override chrome://global/content/neterror.xhtml jar:embedder.jar!/global/content/neterror.xhtml content inspector jar:inspector.jar!/content/inspector/ instructions supported in bootstrapped add-ons the following instructions are supported in bootstrapped extensions: manifest content locale skin override debugging a chrome manifest file the chrome list extension shows all registered chrome.
Building Firefox with Debug Symbols
by default, a release build of firefox will not generate debug symbols suitable for debugging or post-processing into the breakpad symbol format.
Simple SeaMonkey build
mk_add_options moz_objdir=/path/to/comm-central/obj-sm-debug ac_add_options --enable-application=suite ac_add_options --enable-debug ac_add_options --disable-optimize normally a shared build suffices for debugging purposes but current nightly releases are actually static builds which require even more memory to link.
Developer guide
debugging find helpful tips and guides for debugging mozilla code.
Storage access policy: Block cookies from trackers
debugging we encourage site owners to test their sites, particularly those that rely on third-party content integrations.
Firefox and the "about" protocol
about:crashes lists all crashes, which happened during the runtime of firefox (in case the user enabled the crash reporter) about:credits lists all contributors to the firefox project about:debugging switches to the developer tools debugging page, which allows you to debug add-ons, tabs and service workers about:devtools summarizes the developer tools and provides links to documentation for each tool about:downloads displays all downloads done within firefox about:home start page of firefox when opening a new window about:license displays lic...
How to get a stacktrace for a bug report
ubuntu: instructions from the ubuntu team opensuse: general instructions from opensuse fedora: capturing stack traces gentoo: debugging using gdb ...
How to Report a Hung Firefox
instead of crashing firefox, more advanced developers who know how to use a debugger can try attaching to the firefox process and debugging in place.
Log.jsm
something bad happened!"); log.debug("details about bad thing only useful during debugging", {someinfo: "nothing"}); log.warn("here is an error", new error("ouch")); logger levels fatal severe errors that cause premature termination.
Release phase
if you don't see this message, try running the same command in a more verbose mode (with the debugging information): $ ssh -vvv hg.mozilla.org this should tell you why your connection is not succeeding.
Mozilla Framework Based on Templates (MFBT)
(this header will likely be further split up so that its functionality is less grab-bag.) debugging assertions.h provides assertion macros in implementing runtime assertions and compile-time assertions.
GPU performance
see also debugging with pix.
Profiling with the Firefox Profiler
this can be very useful for debugging correctness problems such as a temporary visual/rendering glitch, because it allows you to find the precise composite that shows the glitch, and look at the layer tree for that composite.
javascript.options.showInConsole
note: since the web console was introduced in firefox 4 specifically for debugging content, the default value for this preference has changed to true as of gecko 2.0.
nglayout.debug.disable xul fastload
never set nglayout.debug.disable_xul_fastload to true in a production environment; it exists solely to aid in debugging.
Emscripten techniques
debugging out-of-memory problems a common bug to diagnose with emscripten is where a big game fails due to an out of memory error (oom) somewhere during load time.
Leak And Bloat Tests
see debugging memory leaks for more information on what to do with this data.
Overview of NSS
complete software development kit in addition to libraries and apis, nss provides security tools required for debugging, diagnostics, certificate and key management, cryptography module management, and other development tasks.
Python binding for NSS
add print_traceback(), print_cert() debugging support.
NSS environment variables
before 3.0 moz_debug_symbols boolean (1 to enable) needed on windows to build with versions of msvc (such as vc8 and vc9) that do not understand /pdb:none 3.11 moz_debug_flags string when moz_debug_symbols is set, you may use moz_debug_flags to specify alternative compiler flags to produce symbolic debugging information in a particular format.
NSS Tools
this tool is very useful for debugging.
NSS troubleshooting
debugging tips, how to enable tracing of the various modules, etc.
NSS tools : signtool
retaining the temporary directories can be an aid to debugging.
Network Security Services
nss tools tools for developing, debugging, and managing applications that use nss.
Renaming With Pork
--dry-run is helpful for debugging filterdiff -x \*/smbase/\* /tmp/string.diff |sed 's/.home.tglek.tmp.//' | patch -p1 --dry-run ...
Rhino documentation
javascript debugger debugging scripts running in rhino.
SpiderMonkey Build Documentation
developer (debug) build for developing and debugging spidermonkey itself, it is best to have both a debug build (for everyday debugging) and an optimized build (for performance testing), in separate build directories.
Self-hosted builtins in SpiderMonkey
debugging self-hosted code self-hosted code by default is hidden from client javascript code; in particular, self-hosted frames will be filtered out of the stack traces of exceptions.
SpiderMonkey Internals
jsdbgapi.cpp, jsdbgapi.h the debugging api.
JS::Add*Root
typically name is a static string constant, identifying the source location of the call to js::addnamed*root for debugging purposes.
JS::CallArgs
(if you're compiling against a debug build of spidermonkey, these methods will assert to aid debugging.) if the method you're implementing succeeds by returning true, you *must* set this.
JS_Add*Root
typically name is a static string constant, identifying the source location of the call to js_addnamedroot for debugging purposes.
JS_SetGCZeal
this article covers features introduced in spidermonkey 1.8 enable gc zeal, a testing and debugging feature that helps find gc-related bugs in jsapi applications.
JSAPI reference
nce javascript 1.8.5 jsfun_getter obsolete since javascript 1.8.5 jsfun_setter obsolete since javascript 1.8.5 jsfun_global_parent obsolete since javascript 1.8.5 jsfun_heavyweight obsolete since jsapi 19 jsfun_lambda obsolete since jsapi 19 c++ features class jsautorequest class jsautolocalrootscope obsolete since javascript 1.8.5 class js::perfmeasurement (in jsperf.h) tracing and debugging js_setfunctioncallback added in spidermonkey 1.8.5 obsolete since jsapi 37 js_getfunctioncallback added in spidermonkey 1.8.5 obsolete since jsapi 37 ...
SpiderMonkey 1.8.5
the team is considering the removal of tinyids js_threadsafe is going away, with future versions supporting only thread-safe builds a new debugging api is on the way to replace jsd.
SpiderMonkey 1.8.7
the team is considering the removal of tinyids js_threadsafe is going away, with future versions supporting only thread-safe builds a new debugging api is on the way to replace jsd.
SpiderMonkey 1.8.8
the team is considering the removal of tinyids js_threadsafe is going away, with future versions supporting only thread-safe builds a new debugging api is on the way to replace jsd.
SpiderMonkey 17
the team is considering the removal of tinyids js_threadsafe is going away, with future versions supporting only thread-safe builds a new debugging api is on the way to replace jsd.
SpiderMonkey 24
the team is considering the removal of tinyids js_threadsafe is going away, with future versions supporting only thread-safe builds a new debugging api is on the way to replace jsd.
SpiderMonkey 31
js_threadsafe is going away, with future versions supporting only thread-safe builds a new debugging api is on the way to replace jsd.
SpiderMonkey 38
js_threadsafe is going away, with future versions supporting only thread-safe builds a new debugging api is on the way to replace jsd.
Shell global objects
for debugging only--this address may change during a moving gc.
Thread Sanitizer
this list is a good tool to temporarily hide some traces, especially for debugging purposes.
Secure Development Guidelines
v[]) { if (argc > 1) printf(argv[1]); } format string bugs: prevention easy to fix: always use a format string specifier: int main(int argc, char *argv[]) { if (argc > 1) printf("%s", argv[1]); } double free example: void* ptr = malloc(1024); if (error) { free(ptr); } free(ptr); double free: prevention set a pointer to null when it’s freed valgrind or malloc debugging can help detect those bugs use after free accessing data after a free() or delete can lead to undefined behavior some debug tools might be able catch some cases un-initialized data example: int main() { char *uninitialized_ptr; printf("0x%08x\r\n", uninitialized_ptr); return 0; } $ ./test 0x8fe0103 un-initialized data: prevention initialize your variables!
Signing Mozilla apps for Mac OS X
while testing and debugging for test and debug purposes, the easiest way to get a signing certificate is to use apple's keychain feature to create one.
Using XPCOM Utilities to Make Things Easier
in a debugging environment, this string will be printed to the screen when the component library is loaded or unloaded.
Mozilla internal string guide
g& url, prbool addprefix) { if (addprefix) { // must create a temporary buffer - string is multi-fragmented constexpr auto httpprefix = u"http://"_ns; addpage(promiseflatstring(httpprefix + modifiedurl)); } else { // might create a temporary buffer, does a runtime check addpage(promiseflatstring(url).get()); } } printf and a utf-16 string for debugging, it's useful to printf a utf-16 string (nsstring, nsautostring, etc).
nsIContentSecurityPolicy
policy astring a read-only string version of the policy for debugging.
nsIJetpack
individual lines of the form //@line 1 "foo.js" can be used to specify filename and line number information for debugging purposes.
nsIMsgIdentity
useful for debugging.
Frequently Asked Questions
for debugging purposes you can write printf("%x\n", mynscomptr.get()); how do i...
Reference Manual
implementation details and debugging machinery although it is a class, nscomptr has no virtual methods, and therefore, no vtable or vptr.
Testing Mozilla code
the first part will focus on the modern and robust way of static-analysis and the second part will present the build-time static-analysis.debugging mozilla with valgrindthis page describes how to use valgrind (specifically, its memcheck tool) to find memory errors.firefox and address sanitizeraddress sanitizer (asan) is a fast memory error detector that detects use-after-free and out-of-bound bugs in c/c++ programs.
Account Provisioner
debugging the account provisioner dialog logs most if not all of its activities, which is useful for debugging.
Index
29 gloda debugging the gloda code has log4moz logging statements spread throughout.
MailNews fakeserver
to enable/disable debugging, call setdebuglevel on your nsmailserver instance with one of the following options: const fsdebugnone = 0; // dump nothing const fsdebugrecv = 1; // dump just the received commands const fsdebugrecvsend = 2; // dump received + sent commands, no data const fsdebugall = 3; // dump everything debugging is set to "none" by default.
Building a Thunderbird extension 1: introduction
there are also a number of extension and applications that are useful for testing and debugging thunderbird extensions, such as javascript consoles and xpcom inspectors.
Thunderbird extensions
learn more about gloda: an overview of gloda how to create your first message query and read the gloda examples gloda internals: gloda debugging, gloda indexing more thunderbird-specific links some links may be out of date, but they still provide valuable information on the codebase.
Thunderbird
there's also information about how the review process works and how to use the mozilla symbol server to help with debugging.
Accessibility Inspector - Firefox Developer Tools
the accessibility inspector also uses this information to provide valuable accessibility debugging capabilities in the devtools.
Application - Firefox Developer Tools
the application panel provides tools for inspecting and debugging modern web apps (also known as progressive web apps).
Ignore a source - Firefox Developer Tools
however, a library’s abstraction leaks during debugging sessions when you are forced to step through its stack frames in order to reach your own code.
Set watch expressions - Firefox Developer Tools
when debugging code, sometimes it's useful to watch expressions as executions are paused.
Step through code - Firefox Developer Tools
tion, in which case, the debugger will skip the return value from a function, returning execution to the caller split console when paused, you can press the esc key to open and close the split console to gain more insight into errors and variables: pause on breakpoints overlay since firefox 70, when your code is paused on a breakpoint an overlay appears on the viewport of the tab you are debugging.
Use watchpoints - Firefox Developer Tools
when debugging javascript code, it can be useful to know when properties on objects are read or modified.
How to - Firefox Developer Tools
access debugging in add-onsbreaking on exceptionsdebug eval sourcesdisable breakpointsexamine, modify, and watch variableshighlight and inspect dom nodesignore a sourceopen the debuggerpretty-print a minified filesearchset a breakpointset a conditional breakpointset watch expressionsstep through codeuse a source mapuse watchpoints ...
Set a logpoint - Firefox Developer Tools
the logpoint is especially useful in cases where breaking the execution breaks testing procedures, such as when you are debugging popup windows, or executing focus-related logic.
Using the Debugger map scopes feature - Firefox Developer Tools
this feature is useful when debugging source-mapped code.
Debugger.Environment - Firefox Developer Tools
(if more than one debugger instance is debugging the same code, each debugger gets a separate debugger.environment instance for a given environment.
Debugger.Frame - Firefox Developer Tools
(if more than one debugger instance is debugging the same code, each debugger gets a separate debugger.frame instance for a given frame.
Debugger.Memory - Firefox Developer Tools
any value assigned to a debugging handler must be either a function or undefined; otherwise a typeerror is thrown.
Debugger.Object - Firefox Developer Tools
if more than one debugger instance is debugging the same code, each debugger gets a separate debugger.object instance for a given object.
Debugger.Script - Firefox Developer Tools
(if more than one debugger instance is debugging the same code, each debugger gets a separate debugger.script instance for a given script.
Debugger.Source - Firefox Developer Tools
relating a worker to its creator, and other multi-threaded debugging concerns, are out of scope for debugger.
Tutorial: Show Allocations Per Call Path - Firefox Developer Tools
(this menu will not be present unless you have changed the preference as explained above.) selecting the 'browser' context in the scratchpad enter the following code in the scratchpad: // this simply defines the 'debugger' constructor in this // scratchpad; it doesn't actually start debugging anything.
Debugger.Object - Firefox Developer Tools
if more than one debugger instance is debugging the same code, each debugger gets a separate debugger.object instance for a given object.
The Firefox JavaScript Debugger - Firefox Developer Tools
see remote debugging to learn how to connect the debugger to a remote target.
Network monitor recording - Firefox Developer Tools
this is useful in situations where, for example, you are trying to get a stable view of a page for debugging purposes, but under normal circumstances the view keeps evolving due to persistent network requests.
Network request list - Firefox Developer Tools
open in new tab resends the request in a new tab — very useful for debugging asynchronous requests.
Network Monitor - Firefox Developer Tools
this means you can start debugging a page in, for example, the web console, then switch to the network monitor to see network activity without having to reload the page.
CSS Flexbox Inspector: Examine Flexbox layouts - Firefox Developer Tools
the flexbox inspector allows you to examine css flexbox layouts using the firefox devtools, which is useful for discovering flex containers on a page, examining and modifying them, debugging layout issues, and more.
CSS Grid Inspector: Examine grid layouts - Firefox Developer Tools
the grid inspector allows you to examine css grid layouts using the firefox devtools, discovering grids present on a page, examining and modifying them, debugging layout issues, and more.
Page Inspector - Firefox Developer Tools
see remote debugging to learn how to connect the developer tools to a remote target.
Extension Storage - Firefox Developer Tools
this storage type is only shown when debugging extensions.
Style Editor - Firefox Developer Tools
the media sidebar works especially well with responsive design view for creating and debugging responsive layouts: from firefox 46 onwards, if an @media rule contains a screen size in a condition, then it is made clickable: clicking it then resizes the screen to that size using the responsive design view: creating and importing style sheets you can create a new style sheet by clicking the new button in the toolbar.
Toolbox - Firefox Developer Tools
the array may include the following tools: web console javascript debugger page inspector style editor profiler network monitor note that not all the hosted tools are always listed here: only the tools actually available in this context are shown (for example, not all tools support remote debugging yet, so if the debugging target is not the firefox instance that launched the window, not all the hosted tools will be shown).
console - Web APIs
WebAPIConsole
the console object provides access to the browser's debugging console (e.g.
DedicatedWorkerGlobalScope - Web APIs
this is mainly useful for debugging purposes.
Document.requestStorageAccess() - Web APIs
debugging the storage access grant threshold may make it more difficult to test your website under the condition where firefox prompts the user for access.
FileException - Web APIs
the added complexity of using webworkers with this api makes debugging even more challenging.
GeolocationPositionError - Web APIs
specifications note that this is primarily intended for debugging use and not to be shown directly in a user interface.
In depth: Microtasks and the JavaScript runtime environment - Web APIs
when debugging or, possibly, when trying to decide upon the best approach to solving a problem around timing and scheduling of tasks and microtasks, there are things about how the javascript runtime operates under the hood that may be useful to understand.
IntersectionObserver.thresholds - Web APIs
debugging chaos may ensue.
LayoutShiftAttribution - Web APIs
the layoutshiftattribution interface of the layout instability api provides debugging information about elements which have shifted.
MediaRecorderErrorEvent() - Web APIs
some user agents add to the error object other properties that provide information such as stack dumps, the name of the javascript file and the line number where the error occurred, and other debugging aids, but you should not rely on this information in a production environment.
RTCDataChannel.id - Web APIs
WebAPIRTCDataChannelid
this can be also useful for logging and debugging purposes.
RTCIceCandidate.relatedAddress - Web APIs
example in this example, the candidate's type is checked, and then debugging output is presented, based on the candidate type, including the candidate's ip and relatedaddress.
RTCPeerConnection.signalingState - Web APIs
this value may also be useful during debugging, for example.
Using Service Workers - Web APIs
firefox has also started to implement some useful tools related to service workers: you can navigate to about:debugging to see what sws are registered and update/remove them.
SharedWorkerGlobalScope - Web APIs
this is mainly useful for debugging purposes.
Multi-touch interaction - Web APIs
ngth) { case 1: // single tap` ev.target.style.background = "yellow"; break; case 2: // two simultaneous touches ev.target.style.background = "pink"; break; default: // more than two simultaneous touches ev.target.style.background = "lightblue"; } } event logging the functions are used to log event activity to the application window, to support debugging and learning about the event flow.
WebGLRenderingContext.getActiveAttrib() - Web APIs
it is generally used when querying unknown attributes either for debugging or generic library creation.
WebGLRenderingContext.getActiveUniform() - Web APIs
it is generally used when querying unknown uniforms either for debugging or generic library creation.
WebGLRenderingContext.getShaderInfoLog() - Web APIs
it contains warnings, debugging and compile information.
WebGLRenderingContext.vertexAttribPointer() - Web APIs
however, these functions are great for debugging a webgl context without touching the application code.
WebGL best practices - Web APIs
after too many errors (32 in firefox), webgl stops generating descriptive messages, which really hinders debugging.
Signaling and video calling - Web APIs
our example doesn't use this for anything, but it can be useful to watch these events for debugging purposes, as well as to detect when candidate collection has finished.
Web Locks API - Web APIs
this can be useful when debugging, for example, identifying why a lock could not be acquired.
Functions and classes available to Web Workers - Web APIs
41 (41) (yes) (yes) (yes) console api provides access to the browser's debugging console (e.g., the web console in firefox).
Window.console - Web APIs
WebAPIWindowconsole
these methods are intended for debugging purposes only and should not be relied on for presenting information to end users.
window.dump() - Web APIs
WebAPIWindowdump
it is therefore advisable to either check this preference yourself or use a debugging preference of your own to make sure you don't send lots of debugging content to a user's console when they might not be interested in it at all.
Window: rejectionhandled event - Web APIs
this can be used in debugging and for general application resiliency, in tandem with the unhandledrejection event, which is sent when a promise is rejected but there is no hander for the rejection.
Window: unhandledrejection event - Web APIs
this is useful for debugging and for providing fallback error handling for unexpected situations.
Window - Web APIs
WebAPIWindow
window.console read only returns a reference to the console object which provides access to the browser's debugging console.
Worker() - Web APIs
WebAPIWorkerWorker
name: a domstring specifying an identifying name for the dedicatedworkerglobalscope representing the scope of the worker, which is mainly useful for debugging purposes.
WorkerGlobalScope.console - Web APIs
example this property allows you to have access to a browser console for debugging purposes, inside a worker.
msWriteProfilerMark - Web APIs
notes mswriteprofilermark enables you to inject dom based performance markers in addition to existing javascript api to learn exactly when parts of the page are being rendered, building a waterfall view for every one of our impressions showing latency per object, which can be useful for more accurately debugging real users perf issues.
Web applications and ARIA FAQ - Accessibility
several inspecting and debugging tools exist to help you test aria in action: object inspector on windows accessibility inspector on os x accprobe on linux firebug's dom inspector the accessibility inspector for firebug the audits tab in chrome devtools there are several free or open source screen readers that can be used to do hands-on testing with aria.
Robust - Accessibility
see debugging html for a practical guide.
Using CSS transitions - CSS: Cascading Style Sheets
this is the best way to configure transitions, as it makes it easier to avoid out of sync parameters, which can be very frustrating to have to spend lots of time debugging in css.
Specificity - CSS: Cascading Style Sheets
using !important, however, is bad practice and should be avoided because it makes debugging more difficult by breaking the natural cascading in your stylesheets.
Getting Started - Developer guides
note 2: if you do not set header cache-control: no-cache the browser will cache the response and never re-submit the request, making debugging challenging.
<button>: The Button element - HTML: Hypertext Markup Language
WebHTMLElementbutton
text/plain: specified as a debugging aid; shouldn’t be used for real form submission.
<figure>: The Figure with Optional Caption element - HTML: Hypertext Markup Language
WebHTMLElementfigure
"; "; txt+= "browser version: " + navigator.appversion + "; "; txt+= "cookies enabled: " + navigator.cookieenabled + "; "; txt+= "platform: " + navigator.platform + "; "; txt+= "user-agent header: " + navigator.useragent + "; "; console.log("navigatorexample", txt); } </pre> </figure> quotations <figure> <figcaption><cite>edsger dijkstra:</cite></figcaption> <blockquote>if debugging is the process of removing software bugs, then programming must be the process of putting them in.</blockquote> </figure> poems <figure> <p style="white-space:pre"> bid me discourse, i will enchant thine ear, or like a fairy trip upon the green, or, like a nymph, with long dishevell'd hair, dance on the sands, and yet no footing seen: love is a spirit all compact of fire, not gross...
<form> - HTML: Hypertext Markup Language
WebHTMLElementform
text/plain: introduced by html5 for debugging purposes.
<input type="image"> - HTML: Hypertext Markup Language
WebHTMLElementinputimage
text/plain plain text; mostly useful only for debugging, so you can easily see the data that's to be submitted.
<input type="submit"> - HTML: Hypertext Markup Language
WebHTMLElementinputsubmit
text/plain plain text; mostly useful only for debugging, so you can easily see the data that's to be submitted.
CORS errors - HTTP
WebHTTPCORSErrors
however, if the endpoint is meant to be available, some debugging is needed to succeed.
Forwarded - HTTP
this header is used for debugging, statistics, and generating location-dependent content and by design it exposes privacy sensitive information, such as the ip address of the client.
X-Forwarded-For - HTTP
this header is used for debugging, statistics, and generating location-dependent content and by design it exposes privacy sensitive information, such as the ip address of the client.
X-Forwarded-Host - HTTP
this header is used for debugging, statistics, and generating location-dependent content and by design it exposes privacy sensitive information, such as the ip address of the client.
HTTP Index - HTTP
WebHTTPIndex
215 trace http, reference, trace method the http trace method performs a message loop-back test along the path to the target resource, providing a useful debugging mechanism.
TRACE - HTTP
WebHTTPMethodsTRACE
the http trace method performs a message loop-back test along the path to the target resource, providing a useful debugging mechanism.
Proxy servers and tunneling - HTTP
the ip address of the original client is often used for debugging, statistics, or generating location-dependent content.
HTTP
WebHTTP
tools & resources helpful tools and resources for understanding and debugging http.
Control flow and error handling - JavaScript
try { throw 'myexception'; // generates an exception } catch (err) { // statements to handle any exceptions logmyerrors(err); // pass exception object to error handler } best practice: when logging errors to the console inside a catch block, using console.error() rather than console.log() is advised for debugging.
JavaScript modules - JavaScript
you'll still get syntax errors shown in the devtools, but you'll not be able to use some of the debugging techniques you might have expected to use.
SyntaxError: test for equality (==) mistyped as assignment (=)? - JavaScript
to help debugging, javascript (with strict warnings enabled) warns about this pattern.
JavaScript error reference - JavaScript
these errors can be a helpful debugging aid, but the reported problem isn't always immediately clear.
Array.prototype.toSource() - JavaScript
you can call tosource while debugging to examine the contents of an array.
Error - JavaScript
stomerror extends error { constructor(foo = 'bar', ...params) { // pass remaining arguments (including vendor specific ones) to parent constructor super(...params) // maintains proper stack trace for where our error was thrown (only available on v8) if (error.capturestacktrace) { error.capturestacktrace(this, customerror) } this.name = 'customerror' // custom debugging information this.foo = foo this.date = new date() } } try { throw new customerror('baz', 'bazmessage') } catch(e) { console.error(e.name) //customerror console.error(e.foo) //baz console.error(e.message) //bazmessage console.error(e.stack) //stacktrace } es5 custom error object all browsers include the customerror constructor in the stack trace when using a protot...
Function.prototype.toSource() - JavaScript
you can call tosource() while debugging to examine the contents of an object.
Generator.prototype.throw() - JavaScript
for debugging purposes, it is useful to make it an instanceof error.
Object.prototype.toSource() - JavaScript
you can call tosource() while debugging to examine the contents of an object.
Promise.reject() - JavaScript
for debugging purposes and selective error catching, it is useful to make reason an instanceof error.
Symbol() constructor - JavaScript
a description of the symbol which can be used for debugging but not to access the symbol itself.
Symbol.prototype.description - JavaScript
description symbol objects can be created with an optional description which can be used for debugging but not to access the symbol itself.
Lexical grammar - JavaScript
they can also be used to disable code to prevent it from being executed; this can be a valuable debugging tool.
for...in - JavaScript
it may be most practically used for debugging purposes, being an easy way to check the properties of an object (by outputting to the console or otherwise).
JavaScript shells - JavaScript
they are extremely useful for developing and debugging code.
Autoplay guide for media and Web Audio APIs - Web media technologies
these include any that may aid in testing or debugging as well as any that could be set in a way that you need to be prepared to handle.
Performance fundamentals - Web Performance
note: you can use these tools with the android browser by running firefox and enabling remote debugging.
Tutorials
this module looks at the cascade and inheritance, all the selector types we have available, units, sizing, styling backgrounds and borders, debugging, and lots more.
<xsl:message> - XSLT: Extensible Stylesheet Language Transformations
WebXSLTElementmessage
it can be useful for debugging.
Index - XSLT: Extensible Stylesheet Language Transformations
WebXSLTIndex
it can be useful for debugging.
Using the WebAssembly JavaScript API - WebAssembly
see webassembly debugging with firefox devtools for a video preview.
WebAssembly
this is the low-level textual representation of a .wasm module shown in browser developer tools when debugging.