summaryrefslogtreecommitdiff
path: root/.lldbinit
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2022-02-12 17:47:03 +0000
committerMatt A. Tobin <email@mattatobin.com>2022-02-12 14:23:18 -0600
commitf66babd8b8368ada3e5aa29cdef1c77291ee4ddd (patch)
treee3842e2a6bf19090185f9c475b3846e1bb79ac97 /.lldbinit
downloadGRE-f66babd8b8368ada3e5aa29cdef1c77291ee4ddd.tar.gz
Create the Goanna Runtime Environment
Diffstat (limited to '.lldbinit')
-rw-r--r--.lldbinit31
1 files changed, 31 insertions, 0 deletions
diff --git a/.lldbinit b/.lldbinit
new file mode 100644
index 000000000..5284f42ac
--- /dev/null
+++ b/.lldbinit
@@ -0,0 +1,31 @@
+# .lldbinit file for debugging Mozilla
+
+# -----------------------------------------------------------------------------
+# For documentation on all of the commands and type summaries defined here
+# and in the accompanying Python scripts, see python/lldbutils/README.txt.
+# -----------------------------------------------------------------------------
+
+# Import the module that defines complex Gecko debugging commands. This assumes
+# you are either running lldb from the top level source directory, the objdir,
+# or the dist/bin directory. (.lldbinit files in the objdir and dist/bin set
+# topsrcdir appropriately.)
+script topsrcdir = topsrcdir if locals().has_key("topsrcdir") else os.getcwd(); sys.path.append(os.path.join(topsrcdir, "python/lldbutils")); import lldbutils; lldbutils.init()
+
+# Mozilla's use of UNIFIED_SOURCES to include multiple source files into a
+# single compiled file breaks lldb breakpoint setting. This works around that.
+# See http://lldb.llvm.org/troubleshooting.html for more info.
+settings set target.inline-breakpoint-strategy always
+
+# Show the dynamic type of an object when using "expr". This, for example,
+# will show a variable declared as "nsIFrame *" that points to an nsBlockFrame
+# object as being of type "nsBlockFrame *" rather than "nsIFrame *".
+settings set target.prefer-dynamic-value run-target
+
+# Show the string value in atoms.
+type summary add nsIAtom --summary-string "${var.mString}"
+
+# Show the value of text nodes.
+type summary add nsTextNode --summary-string "${var.mText}"
+
+# Dump the current JS stack.
+command alias js expr DumpJSStack()