LLVM  16.0.0git
Classes | Namespaces | Functions
Debuginfod.h File Reference
#include "HTTPServer.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Object/BuildID.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Mutex.h"
#include "llvm/Support/RWMutex.h"
#include "llvm/Support/Timer.h"
#include <chrono>
#include <condition_variable>
#include <queue>
Include dependency graph for Debuginfod.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::DebuginfodLogEntry
 
class  llvm::DebuginfodLog
 
class  llvm::DebuginfodCollection
 Tracks a collection of debuginfod artifacts on the local filesystem. More...
 
struct  llvm::DebuginfodServer
 

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

Expected< SmallVector< StringRef > > llvm::getDefaultDebuginfodUrls ()
 Finds default array of Debuginfod server URLs by checking DEBUGINFOD_URLS environment variable. More...
 
Expected< std::string > llvm::getDefaultDebuginfodCacheDirectory ()
 Finds a default local file caching directory for the debuginfod client, first checking DEBUGINFOD_CACHE_PATH. More...
 
std::chrono::milliseconds llvm::getDefaultDebuginfodTimeout ()
 Finds a default timeout for debuginfod HTTP requests. More...
 
Expected< std::string > llvm::getCachedOrDownloadSource (object::BuildIDRef ID, StringRef SourceFilePath)
 Fetches a specified source file by searching the default local cache directory and server URLs. More...
 
Expected< std::string > llvm::getCachedOrDownloadExecutable (object::BuildIDRef ID)
 Fetches an executable by searching the default local cache directory and server URLs. More...
 
Expected< std::string > llvm::getCachedOrDownloadDebuginfo (object::BuildIDRef ID)
 Fetches a debug binary by searching the default local cache directory and server URLs. More...
 
Expected< std::string > llvm::getCachedOrDownloadArtifact (StringRef UniqueKey, StringRef UrlPath)
 Fetches any debuginfod artifact using the default local cache directory and server URLs. More...
 
Expected< std::string > llvm::getCachedOrDownloadArtifact (StringRef UniqueKey, StringRef UrlPath, StringRef CacheDirectoryPath, ArrayRef< StringRef > DebuginfodUrls, std::chrono::milliseconds Timeout)
 Fetches any debuginfod artifact using the specified local cache directory, server URLs, and request timeout (in milliseconds). More...
 

Detailed Description

This file contains several declarations for the debuginfod client and server. The client functions are getDefaultDebuginfodUrls, getCachedOrDownloadArtifact, and several convenience functions for specific artifact types: getCachedOrDownloadSource, getCachedOrDownloadExecutable, and getCachedOrDownloadDebuginfo. For the server, this file declares the DebuginfodLogEntry and DebuginfodServer structs, as well as the DebuginfodLog, DebuginfodCollection classes.

Definition in file Debuginfod.h.