diff options
Diffstat (limited to 'js/src/gdb/mozilla/autoload.py')
-rw-r--r-- | js/src/gdb/mozilla/autoload.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/gdb/mozilla/autoload.py b/js/src/gdb/mozilla/autoload.py new file mode 100644 index 000000000..43cbcdf72 --- /dev/null +++ b/js/src/gdb/mozilla/autoload.py @@ -0,0 +1,33 @@ +# mozilla/autoload.py: Autoload SpiderMonkey pretty-printers. + +print("Loading JavaScript value pretty-printers; see js/src/gdb/README.") +print("If they cause trouble, type: disable pretty-printer .* SpiderMonkey") + +import gdb.printing +import mozilla.prettyprinters + +# Import the pretty-printer modules. As a side effect, loading these +# modules registers their printers with mozilla.prettyprinters. +import mozilla.GCCellPtr +import mozilla.Interpreter +import mozilla.IonGraph +import mozilla.JSObject +import mozilla.JSString +import mozilla.JSSymbol +import mozilla.Root +import mozilla.jsid +import mozilla.jsval +import mozilla.unwind + +# The user may have personal pretty-printers. Get those, too, if they exist. +try: + import my_mozilla_printers +except ImportError: + pass + +# Register our pretty-printers with |objfile|. +def register(objfile): + lookup = mozilla.prettyprinters.lookup_for_objfile(objfile) + if lookup: + gdb.printing.register_pretty_printer(objfile, lookup, replace=True) + mozilla.unwind.register_unwinder(objfile) |