/// <summary> /// Retrieve a list of function call names from an encoded pattern. This is either from the cache, or from the database and then added to the cache. /// </summary> /// <param name="Pattern">A callstack pattern in the form '1+3+34+2'.</param> /// <returns>A list of function names.</returns> public List <string> GetFunctionCalls(string Pattern) { using (FAutoScopedLogTimer LogTimer = new FAutoScopedLogTimer(this.GetType().ToString() + "(Count=" + CacheInstance.Count + ")")) { string Key = CacheKeyPrefix + FunctionCallKeyPrefix + Pattern; List <string> FunctionCalls = (List <string>)CacheInstance[Key]; if (FunctionCalls == null) { string[] Ids = Pattern.Split("+".ToCharArray()); List <int> IdList = new List <int>(); foreach (string id in Ids) { int i; if (int.TryParse(id, out i)) { IdList.Add(i); } } FunctionCalls = BuggRepositoryInstance.GetFunctionCalls(IdList); CacheInstance.Insert(Key, FunctionCalls); } return(FunctionCalls); } }
/// <summary> /// Return the top lines of a callstack. /// </summary> /// <param name="Max">The number of lines to return.</param> /// <returns>A list of callstack entries.</returns> public List <string> GetFunctionCalls(int Max) { BuggRepository LocalBuggRepository = new BuggRepository(); List <string> Results = LocalBuggRepository.GetFunctionCalls(Pattern); return(Results); }
/// <summary> /// Return the top lines of a callstack. /// </summary> /// <returns>A list of callstack entries.</returns> public List <string> GetFunctionCalls() { using (FAutoScopedLogTimer LogTimer = new FAutoScopedLogTimer(this.GetType().ToString() + "(Id=" + this.Id + ")")) { BuggRepository LocalBuggRepository = new BuggRepository(); List <string> Results = LocalBuggRepository.GetFunctionCalls(Pattern); return(Results); } }
/// <summary> /// Retrieve a list of function call names from an encoded pattern. This is either from the cache, or from the database and then added to the cache. /// </summary> /// <param name="Pattern">A callstack pattern in the form '1+3+34+2'.</param> /// <returns>A list of function names.</returns> public List <string> GetFunctionCalls(string Pattern) { using (FAutoScopedLogTimer LogTimer = new FAutoScopedLogTimer(this.GetType().ToString() + "(Count=" + CacheInstance.Count + ")")) { string Key = CacheKeyPrefix + FunctionCallKeyPrefix + Pattern; List <string> FunctionCalls = (List <string>)CacheInstance[Key]; if (FunctionCalls == null) { string[] Ids = Pattern.Split("+".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); List <int> IdList = new List <int>(); foreach (string id in Ids) { int i; if (int.TryParse(id, out i)) { IdList.Add(i); } } // These function calls don't add any new information. IdList.Remove(63039); // 63039 KERNELBASE!RaiseException() IdList.Remove(63138); // 63138 UE4Editor_Core!FDebug::EnsureFailed() IdList.Remove(63137); // 63137 UE4Editor_Core!NewReportEnsure() IdList.Remove(63149); // 63149 UE4Editor_Core!FOutputDeviceWindowsError::Serialize() IdList.Remove(63151); // 63151 UE4Editor_Core!FDebug::AssertFailed() IdList.Remove(63445); // 63445 UE4Editor_Core!FDebug::EnsureNotFalseFormatted() IdList.Remove(64334); // 64334 UE4Editor_Core!FOutputDevice::Logf__VA() FunctionCalls = BuggRepositoryInstance.GetFunctionCalls(IdList); CacheInstance.Insert(Key, FunctionCalls); } return(FunctionCalls); } }
/// <summary> /// Retrieve a list of function call names from an encoded pattern. This is either from the cache, or from the database and then added to the cache. /// </summary> /// <param name="Pattern">A callstack pattern in the form '1+3+34+2'.</param> /// <returns>A list of function names.</returns> public List <string> GetFunctionCalls(string Pattern) { string Key = CacheKeyPrefix + FunctionCallKeyPrefix + Pattern; List <string> FunctionCalls = (List <string>)CacheInstance[Key]; if (FunctionCalls == null) { string[] Ids = Pattern.Split("+".ToCharArray()); List <int> IdList = new List <int>(); foreach (string id in Ids) { int i; if (int.TryParse(id, out i)) { IdList.Add(i); } } FunctionCalls = BuggRepositoryInstance.GetFunctionCalls(IdList); CacheInstance.Insert(Key, FunctionCalls); } return(FunctionCalls); }
/// <summary> /// Return the top lines of a callstack. /// </summary> /// <returns>A list of callstack entries.</returns> public List<string> GetFunctionCalls() { using( FAutoScopedLogTimer LogTimer = new FAutoScopedLogTimer( this.GetType().ToString() + "(Id=" + this.Id + ")" ) ) { BuggRepository LocalBuggRepository = new BuggRepository(); List<string> Results = LocalBuggRepository.GetFunctionCalls( Pattern ); return Results; } }
/// <summary> /// Return the top lines of a callstack. /// </summary> /// <param name="Max">The number of lines to return.</param> /// <returns>A list of callstack entries.</returns> public List<string> GetFunctionCalls( int Max ) { BuggRepository LocalBuggRepository = new BuggRepository(); List<string> Results = LocalBuggRepository.GetFunctionCalls( Pattern ); return Results; }