LLDB  mainline
Functions | Variables
LocateSymbolFileMacOSX.cpp File Reference
#include "lldb/Symbol/LocateSymbolFile.h"
#include <dirent.h>
#include <dlfcn.h>
#include <pwd.h>
#include <CoreFoundation/CoreFoundation.h>
#include "Host/macosx/cfcpp/CFCBundle.h"
#include "Host/macosx/cfcpp/CFCData.h"
#include "Host/macosx/cfcpp/CFCReleaser.h"
#include "Host/macosx/cfcpp/CFCString.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleList.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Host/Host.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/DataBuffer.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/Endian.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/Timer.h"
#include "lldb/Utility/UUID.h"
#include "mach/machine.h"
#include "llvm/ADT/ScopeExit.h"
#include "llvm/Support/FileSystem.h"
Include dependency graph for LocateSymbolFileMacOSX.cpp:

Go to the source code of this file.

Functions

int LocateMacOSXFilesUsingDebugSymbols (const ModuleSpec &module_spec, ModuleSpec &return_module_spec)
 
static bool GetModuleSpecInfoFromUUIDDictionary (CFDictionaryRef uuid_dict, ModuleSpec &module_spec, Status &error)
 
static llvm::StringRef GetDbgShellCommand ()
 It's expensive to check for the DBGShellCommands defaults setting. More...
 
static FileSpec GetDsymForUUIDExecutable ()
 Get the dsymForUUID executable and cache the result so we don't end up stat'ing the binary over and over. More...
 

Variables

static CFURLRef(* g_dlsym_DBGCopyFullDSYMURLForUUID )(CFUUIDRef uuid, CFURLRef exec_url) = nullptr
 
static CFDictionaryRef(* g_dlsym_DBGCopyDSYMPropertyLists )(CFURLRef dsym_url)
 

Function Documentation

◆ GetDbgShellCommand()

static llvm::StringRef GetDbgShellCommand ( )
static

It's expensive to check for the DBGShellCommands defaults setting.

Only do it once per lldb run and cache the result.

Definition at line 496 of file LocateSymbolFileMacOSX.cpp.

References PATH_MAX, and string().

Referenced by GetDsymForUUIDExecutable().

◆ GetDsymForUUIDExecutable()

static FileSpec GetDsymForUUIDExecutable ( )
static

Get the dsymForUUID executable and cache the result so we don't end up stat'ing the binary over and over.

Definition at line 519 of file LocateSymbolFileMacOSX.cpp.

References GetDbgShellCommand().

◆ GetModuleSpecInfoFromUUIDDictionary()

static bool GetModuleSpecInfoFromUUIDDictionary ( CFDictionaryRef  uuid_dict,
ModuleSpec module_spec,
Status error 
)
static

◆ LocateMacOSXFilesUsingDebugSymbols()

int LocateMacOSXFilesUsingDebugSymbols ( const ModuleSpec module_spec,
ModuleSpec return_module_spec 
)

Variable Documentation

◆ g_dlsym_DBGCopyDSYMPropertyLists

CFDictionaryRef(* g_dlsym_DBGCopyDSYMPropertyLists) (CFURLRef dsym_url)
static
Initial value:
=
nullptr

Definition at line 46 of file LocateSymbolFileMacOSX.cpp.

Referenced by LocateMacOSXFilesUsingDebugSymbols().

◆ g_dlsym_DBGCopyFullDSYMURLForUUID

CFURLRef(* g_dlsym_DBGCopyFullDSYMURLForUUID) (CFUUIDRef uuid, CFURLRef exec_url) = nullptr
static

Definition at line 44 of file LocateSymbolFileMacOSX.cpp.

Referenced by LocateMacOSXFilesUsingDebugSymbols().