[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
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.


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
+   <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>
@@ -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 class="postfooter"></div>

More information about the lldb-commits mailing list