bool PlatformRemoteAppleWatch::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(); 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.c_str(), false); if (paths_to_try[i][0] != '\0') local_file.AppendPathComponent(paths_to_try[i]); local_file.AppendPathComponent(platform_file_path); local_file.ResolvePath(); if (local_file.Exists()) { 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; }