Tuesday, September 20, 2011

how to get the JS stack on Mac when debugging mozilla

How to get the JS stack on Mac when debugging mozilla, do:

(gdb) call DumpJSStack()

See https://developer.mozilla.org/en/Debugging_Mozilla_on_Linux_FAQ

Monday, July 23, 2007

how to view the JS stack from C++ on the debugger

From C++, I set the breakpoint in the debugger and when I hit the bp, I opened up the QuickWatch window (Debug menu, "QuickWatch" item) and entered:


And clicked on the evaluate button.

On my console window I get:

0 [native frame]
1 [native frame]
2 navigate(aDirection = 1, aPageNum = 0, aHomeOrEnd = 0) ["chrome://global/content/printPreviewBindings.xml":235]
print = [object XPCNativeWrapper [xpconnect wrapped nsIWebBrowserPrint @ 0x5
35f930 (native @ 0x525d148)]]
validInput = false
total = 12
homeOrEnd = undefined
textBoxStr = "1"
newPageNum = 2
this = [object XULElement @ 0x6c4a110 (native @ 0x6616720)]
3 oncommand(event = [object XULCommandEvent @ 0x67d63d0 (native @ 0x67bee6c)]) [
this = [object XULElement @ 0x6d77f98 (native @ 0x6bc3178)]
4 [native frame]

In Firefox, load chrome://global/content/printPreviewBindings.xml, then do view source, and go to line 235

Thursday, July 12, 2007


NS_BREAK() to launch into the debugger

export XPCOM_DEBUG_BREAK=suspend

Tuesday, May 01, 2007

js stack trick

dump(new Error().stack);

Monday, December 18, 2006

mac screen shots

how to doc on oreilly.com

Tuesday, November 07, 2006

obsolete apis and guides

obsolete apis
hash table guide
array guide
string guide

Tuesday, October 17, 2006

software update links

my software update test cases on litmus
all software update test cases on litmus
updates.xml format
bug #329729

prefs to set for logging:

user_pref("app.update.log.Checker", true);
user_pref("app.update.log.Downloader", true);
user_pref("app.update.log.General", true);
user_pref("app.update.log.UI:CheckingPage", true);
user_pref("app.update.log.UI:DownloadingPage", true);
user_pref("app.update.log.UI:FinishedPage", true);
user_pref("app.update.log.UI:LicensePage", true);
user_pref("app.update.log.UpdateManager", true);
user_pref("app.update.log.UpdateService", true);
user_pref("app.update.log.Downloader.onProgress", true);
user_pref("app.update.log.UI:DownloadingPage.onProgress", true);


user_pref("app.update.log.all", true);