Ejemplo n.º 1
0
        /// <summary> Looks for the CrashContext.runtime-xml, if found, will return a new instance of the FGenericCrashContext. </summary>
        private FGenericCrashContext FindCrashContext(string NewReportPath)
        {
            string CrashContextPath = Path.Combine(NewReportPath, FGenericCrashContext.CrashContextRuntimeXMLName);
            bool   bExist           = File.Exists(CrashContextPath);

            if (bExist)
            {
                return(FGenericCrashContext.FromFile(CrashContextPath));
            }

            return(null);
        }
Ejemplo n.º 2
0
        /// <summary>If available, will read CrashContext.runtime-xml.</summary>
        public void ReadCrashContextIfAvailable()
        {
            try
            {
                //\\epicgames.net\Root\Projects\Paragon\QA_CrashReports
                bool bHasCrashContext = HasCrashContextFile();
                if (bHasCrashContext)
                {
                    _CrashContext = FGenericCrashContext.FromFile(SitePath + GetCrashContextUrl());
                    bool bTest = _CrashContext != null && !string.IsNullOrEmpty(_CrashContext.PrimaryCrashProperties.FullCrashDumpLocation);
                    if (bTest)
                    {
                        _bUseFullMinidumpPath = true;

                        //Some temporary code to redirect to the new file location for fulldumps for paragon.
                        //Consider removing this once fulldumps stop appearing in the old location.
                        if (_CrashContext.PrimaryCrashProperties.FullCrashDumpLocation.ToLower()
                            .Contains("\\\\epicgames.net\\root\\dept\\gameqa\\paragon\\paragon_launcherCrashdumps"))
                        {
                            //Files from old versions of the client may end up in the old location. Check for files there first.
                            if (!System.IO.Directory.Exists(_CrashContext.PrimaryCrashProperties.FullCrashDumpLocation))
                            {
                                var suffix =
                                    _CrashContext.PrimaryCrashProperties.FullCrashDumpLocation.Substring("\\\\epicgames.net\\root\\dept\\gameqa\\paragon\\paragon_launcherCrashdumps".Length);
                                _CrashContext.PrimaryCrashProperties.FullCrashDumpLocation = String.Format("\\\\epicgames.net\\Root\\Projects\\Paragon\\QA_CrashReports{0}", suffix);

                                //If the file doesn't exist in the new location either then don't use the full minidump path.
                                _bUseFullMinidumpPath =
                                    System.IO.Directory.Exists(_CrashContext.PrimaryCrashProperties.FullCrashDumpLocation);
                            }
                        }

                        //End of temporary code.

                        FLogger.Global.WriteEvent("ReadCrashContextIfAvailable " + _CrashContext.PrimaryCrashProperties.FullCrashDumpLocation + " is " + _bUseFullMinidumpPath);
                    }
                }
            }
            catch (Exception Ex)
            {
                Debug.WriteLine("Exception in ReadCrashContextIfAvailable: " + Ex.ToString());
            }
        }
 /// <summary>If available, will read CrashContext.runtime-xml.</summary>
 public void ReadCrashContextIfAvailable()
 {
     try
     {
         bool bHasCrashContext = HasCrashContextFile();
         if (bHasCrashContext)
         {
             CrashContext = FGenericCrashContext.FromFile(SitePath + GetCrashContextUrl());
             bool bTest = CrashContext != null && !string.IsNullOrEmpty(CrashContext.PrimaryCrashProperties.FullCrashDumpLocation);
             if (bTest)
             {
                 bUseFullMinidumpPath = true;                        // System.IO.Directory.Exists( CrashContext.PrimaryCrashProperties.FullCrashDumpLocation ); Doesn't work, probably due to some permissions.
                 FLogger.Global.WriteEvent("ReadCrashContextIfAvailable " + CrashContext.PrimaryCrashProperties.FullCrashDumpLocation + " is " + bUseFullMinidumpPath);
             }
         }
     }
     catch (Exception Ex)
     {
         Debug.WriteLine("Exception in ReadCrashContextIfAvailable: " + Ex.ToString());
     }
 }