|
1 # .lldbinit file for debugging Mozilla |
|
2 |
|
3 # ----------------------------------------------------------------------------- |
|
4 # For documentation on all of the commands and type summaries defined here |
|
5 # and in the accompanying Python scripts, see python/lldbutils/README.txt. |
|
6 # ----------------------------------------------------------------------------- |
|
7 |
|
8 # Import the module that defines complex Gecko debugging commands. This assumes |
|
9 # you are either running lldb from the top level source directory, the objdir, |
|
10 # or the dist/bin directory. (.lldbinit files in the objdir and dist/bin set |
|
11 # topsrcdir appropriately.) |
|
12 script topsrcdir = topsrcdir if locals().has_key("topsrcdir") else "."; sys.path.append(os.path.join(topsrcdir, "python/lldbutils")); import lldbutils; lldbutils.init() |
|
13 |
|
14 # Mozilla's use of UNIFIED_SOURCES to include multiple source files into a |
|
15 # single compiled file breaks lldb breakpoint setting. This works around that. |
|
16 # See http://lldb.llvm.org/troubleshooting.html for more info. |
|
17 settings set target.inline-breakpoint-strategy always |
|
18 |
|
19 # Show the dynamic type of an object when using "expr". This, for example, |
|
20 # will show a variable declared as "nsIFrame *" that points to an nsBlockFrame |
|
21 # object as being of type "nsBlockFrame *" rather than "nsIFrame *". |
|
22 settings set target.prefer-dynamic-value run-target |
|
23 |
|
24 # Show the string value in atoms. |
|
25 type summary add nsIAtom --summary-string "${var.mString}" |
|
26 |
|
27 # Show the value of text nodes. |
|
28 type summary add nsTextNode --summary-string "${var.mText}" |
|
29 |
|
30 # Dump the current JS stack. |
|
31 command alias js expr DumpJSStack() |