本文整理汇总了C++中lldb_private::FileSpec::Clear方法的典型用法代码示例。如果您正苦于以下问题:C++ FileSpec::Clear方法的具体用法?C++ FileSpec::Clear怎么用?C++ FileSpec::Clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类lldb_private::FileSpec
的用法示例。
在下文中一共展示了FileSpec::Clear方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetFileInSDK
bool PlatformRemoteDarwinDevice::GetFileInSDK(const char *platform_file_path,
uint32_t sdk_idx,
lldb_private::FileSpec &local_file) {
Log *log = lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_HOST);
if (sdk_idx < m_sdk_directory_infos.size()) {
std::string sdkroot_path =
m_sdk_directory_infos[sdk_idx].directory.GetPath();
local_file.Clear();
if (!sdkroot_path.empty() && platform_file_path && platform_file_path[0]) {
// We may need to interpose "/Symbols/" or "/Symbols.Internal/" between
// the
// SDK root directory and the file path.
const char *paths_to_try[] = {"Symbols", "", "Symbols.Internal", nullptr};
for (size_t i = 0; paths_to_try[i] != nullptr; i++) {
local_file.SetFile(sdkroot_path, FileSpec::Style::native);
if (paths_to_try[i][0] != '\0')
local_file.AppendPathComponent(paths_to_try[i]);
local_file.AppendPathComponent(platform_file_path);
FileSystem::Instance().Resolve(local_file);
if (FileSystem::Instance().Exists(local_file)) {
if (log)
log->Printf("Found a copy of %s in the SDK dir %s/%s",
platform_file_path, sdkroot_path.c_str(),
paths_to_try[i]);
return true;
}
local_file.Clear();
}
}
}
return false;
}