Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
 /// <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);
     }
 }
Ejemplo n.º 4
0
        /// <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);
            }
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
		/// <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;
			}
		}
Ejemplo n.º 7
0
        /// <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;
        }