Add more info for shell commands being used by DebugSymbols.framework.
authorGreg Clayton <gclayton@apple.com>
Mon, 19 Nov 2012 17:38:24 +0000 (17:38 +0000)
committerGreg Clayton <gclayton@apple.com>
Mon, 19 Nov 2012 17:38:24 +0000 (17:38 +0000)
llvm-svn: 168314

lldb/www/symbols.html

index 7f15ca7..47eb5bf 100755 (executable)
 will be run in the order in which they are specified until a match is found.\r
 The shell script will be invoked with a single UUID string value like \r
 "23516BE4-29BE-350C-91C9-F36E7999F0F1". The shell script must respond with a \r
-property list being written to STDOUT. The property list must contain UUID\r
-string values as the root key values, with a dictionary for each UUID. The dictionaries\r
-can contain one or more of the following keys:\r
+property list being written to STDOUT. \r
+The property list returned must contain UUID string values as the root key values, with \r
+a dictionary for each UUID. The dictionaries can contain one or more of the following keys:\r
 \r
                                                <table class="stats" width="620" cellspacing="0">\r
                <tr>\r
@@ -215,6 +215,18 @@ can contain one or more of the following keys:
 &lt;/plist&gt;\r
 </tt></pre></code>\r
 \r
+<p>There is no timeout imposed on a shell script when is it asked to locate a dSYM file, so be careful to not make a shell\r
+script that has high latency or takes a long time to download unless this\r
+is really what you want. This can slow down debug sessions in LLDB and GDB, symbolication\r
+with CoreSymbolication or Report Crash, with no visible feedback to the user. You can\r
+quickly return a plist with a single <b>DBGError</b> key that indicates a timeout\r
+has been reached. You might also want to exec new processes to do the downloads so\r
+that if you return an error that indicates a timeout, your download can still proceed\r
+after your shell script has exited so subsequent debug sessions can use the cached files.\r
+It is also important to track when a current download is in progress in case you get multiple requests for the same UUID so\r
+that you don't end up downloading the same file simultaneously. Also you will want\r
+to verify the download was successful and then and only then place the file into the\r
+cache for tools that will cache files locally.\r
                        </div>\r
                <div class="postfooter"></div>\r
         </div>\r