I have a problem that causes Firefox to behave strangely during startup.
(Specifically, it displays the "Firefox seems slow... to... start" message, even though I didn't install any new extensions or anything like that.)
The function that displays that message is _showSlowStartupNotification
in browser/components/nsBrowserGlue.js
which is called from _trackSlowStartup
which in turn is called by _onFirstWindowLoaded
.
I want to debug that. How can I do that?
I can debug the Firefox binaries easily with WinDbg and Mozilla's symbol server. But that's not what I want. I want to debug the XUL, not the C++.
I can debug the XUL if I enable the Browser Toolbox, but only after the startup. Even if I set devtools.debugger.prompt-connection
to false and run firefox.exe -jsdebugger
to immediately open the Browser Toolbox, I get access to it only after the startup code has already been executed. Setting a breakpoint on the interesting function doesn't help as they are not persistent; restarting Firefox doesn't cause the internal XUL debugger to break on them.
So, any suggestions? Is there a way to debug Firefox's XUL from the early start?