Symbols.h revision 4952db8c76f619e3d8a0cf13456097128009d67b
1//===-- Symbols.h -----------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef liblldb_Symbols_h_ 11#define liblldb_Symbols_h_ 12 13// C Includes 14#include <stdint.h> 15#include <sys/time.h> 16 17// C++ Includes 18// Other libraries and framework includes 19// Project includes 20#include "lldb/Host/FileSpec.h" 21 22namespace lldb_private { 23 24class Symbols 25{ 26public: 27 //---------------------------------------------------------------------- 28 // Locate the executable file given a module specification. 29 // 30 // Locating the file should happen only on the local computer or using 31 // the current computers global settings. 32 //---------------------------------------------------------------------- 33 static FileSpec 34 LocateExecutableObjectFile (const ModuleSpec &module_spec); 35 36 //---------------------------------------------------------------------- 37 // Locate the symbol file given a module specification. 38 // 39 // Locating the file should happen only on the local computer or using 40 // the current computers global settings. 41 //---------------------------------------------------------------------- 42 static FileSpec 43 LocateExecutableSymbolFile (const ModuleSpec &module_spec); 44 45 static FileSpec 46 FindSymbolFileInBundle (const FileSpec& dsym_bundle_fspec, 47 const lldb_private::UUID *uuid, 48 const ArchSpec *arch); 49 50 //---------------------------------------------------------------------- 51 // Locate the object and symbol file given a module specification. 52 // 53 // Locating the file can try to download the file from a corporate build 54 // respository, or using any other means necessary to locate both the 55 // unstripped object file and the debug symbols. 56 //---------------------------------------------------------------------- 57 static bool 58 DownloadObjectAndSymbolFile (ModuleSpec &module_spec); 59 60}; 61 62} // namespace lldb_private 63 64 65#endif // liblldb_Symbols_h_ 66