[Lldb-commits] [lldb] r349409 - Document the DBGSourcePathRemapping dictionary that may be
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Mon Dec 17 14:25:55 PST 2018
Author: jmolenda
Date: Mon Dec 17 14:25:54 2018
New Revision: 349409
URL: http://llvm.org/viewvc/llvm-project?rev=349409&view=rev
Log:
Document the DBGSourcePathRemapping dictionary that may be
present in the dSYM per-uuid plist, its precedence order with
the older DBGBuildSourcePath/DBGSourcePath, and note that
must be present and have a value of 3 or the dictionary
will be ignored.
<rdar://problem/46421686>
Modified:
lldb/trunk/www/symbols.html
Modified: lldb/trunk/www/symbols.html
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/www/symbols.html?rev=349409&r1=349408&r2=349409&view=diff
==============================================================================
--- lldb/trunk/www/symbols.html (original)
+++ lldb/trunk/www/symbols.html Mon Dec 17 14:25:54 2018
@@ -262,6 +262,17 @@ A40597AA-5529-3337-8C09-D8A014EB1578.pli
<string>/path/to/foo.dSYM/Contents/Resources/DWARF/foo</string>
<key>DBGSymbolRichExecutable</key>
<string>/path/to/unstripped/executable</string>
+ <key>DBGVersion</key>
+ <string>3</string>
+ <key>DBGSourcePathRemapping</key>
+ <dict>
+ <key>/path/to/build/time/src/location1</key>
+ <string>/path/to/debug/time/src/location</string>
+ <key>/path/to/build/time/src/location2</key>
+ <string>/path/to/debug/time/src/location</string>
+ </dict>
+ <key>DBGSymbolRichExecutable</key>
+ <string>/path/to/unstripped/executable</string>
</dict>
</plist>
</tt></pre></code>
@@ -271,6 +282,22 @@ so making the results of your shell scri
combining two plists into a single one where you take the UUID and use it a
string key, and the value is the contents of the plist.
+<p>LLDB will read the following entries from the per-UUID plist file in the dSYM
+bundle: <b>DBGSymbolRichExecutable</b>, <b>DBGBuildSourcePath</b> and
+<b>DBGSourcePath</b>, and <b>DBGSourcePathRemapping</b> if <b>DBGVersion</b> is 3
+or higher. <b>DBGBuildSourcePath</b> and <b>DBGSourcePath</b> are for remapping
+a single file path. For instance, the files may be in /BuildDir/SheetApp/SheetApp-37
+when built, but they are in /SourceDir/SheetApp/SheetApp-37 at debug time, those
+two paths could be listed in those keys. If there are multiple source path
+remappings, the <b>DBGSourcePathRemapping</b> dictionary can be used, where an
+arbitrary number of entries may be present. <b>DBGVersion</b> should be 3 or
+<b>DBGSourcePathRemapping</b> will not be read. If both <b>DBGSourcePathRemapping</b>
+AND <b>DBGBuildSourcePath</b>/<b>DBGSourcePath</b> are present in the plist, the
+<b>DBGSourcePathRemapping</b> entries will be used for path remapping first. This
+may allow for more specific remappings in the <b>DBGSourcePathRemapping</b>
+dictionary and a less specific remapping in the
+<b>DBGBuildSourcePath</b>/<b>DBGSourcePath</b> pair as a last resort.
+
</div>
<div class="postfooter"></div>
More information about the lldb-commits
mailing list