gecko-dev/build/.gdbinit.py.in
Steve Fink 14bc264f47 Bug 1642121 - Remove directory dependence of GDB init files. r=nalexander
I wrote this patch to address two problems:

  1. if I do `mach run` from a directory other than $topsrcdir, $objdir, or
     $objdir/dist/bin, then .gdbinit will not be loaded.
  2. Debugging the firefox binary will never load the JS prettyprinters in any
     case.

I believe this patch fixes other problems as well, such as .gdbinit_python not being found, and the gdbpp pretty-printers not getting loaded in various situations.

The main changes of this patch are:

  1. Move .gdbinit into build/ (and $objdir/build/) to delay it from getting
     loaded until the search path is configured.
  2. Move libxul.so-gdb.py into the correct directory.
  3. Use either libxul.so-gdb.py or js-gdb.py to configure the correct
     search path then load .gdbinit, and have .gdbinit load all of the
     pretty-printers (Gecko and JS).
  4. Use a single preprocessed file to configure the source directory. Use
     relative paths within the objdir for everything else.

Differential Revision: https://phabricator.services.mozilla.com/D77589
2020-06-16 15:45:43 +00:00

19 lines
342 B
Python

#filter substitution
import sys
sys.path.append(os.path.join('@topsrcdir@', 'js', 'src', 'gdb'))
sys.path.append(os.path.join('@topsrcdir@', 'python', 'gdbpp'))
# JS prettyprinters
import mozilla.autoload
mozilla.autoload.register(gdb.current_objfile())
import mozilla.asmjs
mozilla.asmjs.install()
# Gecko prettyprinters
import gdbpp