crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoDataBlock.cs
changeset 3 045ade241ef5
parent 2 0c91f0baec58
equal deleted inserted replaced
2:0c91f0baec58 3:045ade241ef5
   342                 {
   342                 {
   343                     MobileCrashHashBuilder.TConfiguration config = MobileCrashHashBuilder.TConfiguration.EDefault;
   343                     MobileCrashHashBuilder.TConfiguration config = MobileCrashHashBuilder.TConfiguration.EDefault;
   344                     try //CCrashInfoHashBuilder.New throws an exception if there's not enough data for hash creation
   344                     try //CCrashInfoHashBuilder.New throws an exception if there's not enough data for hash creation
   345                     {
   345                     {
   346                         MobileCrashHashBuilder builder = MobileCrashHashBuilder.New(config, primarySummary);
   346                         MobileCrashHashBuilder builder = MobileCrashHashBuilder.New(config, primarySummary);
   347                         iHash = builder.GetHash();
   347 
       
   348                         if (builder != null)
       
   349                             iHash = builder.GetHash();
       
   350 
       
   351                         // Get detailed hash
       
   352                         config = MobileCrashHashBuilder.TConfiguration.EDetailed;
       
   353                         builder = MobileCrashHashBuilder.New(config, primarySummary, MobileCrashHashBuilder.KDetailedNumberOfStackEntriesToCheckForSymbols);
       
   354                         
       
   355                         if (builder != null)
       
   356                             iDetailedHash = builder.GetHash();
   348                     }
   357                     }
   349                     catch (Exception e)
   358                     catch (Exception e)
   350                     {
   359                     {
   351                         //Not enough data -> no hash and no grouping
   360                         //Not enough data -> no hash and no grouping
   352                     }
   361                     }
   714             if ( string.IsNullOrEmpty( iHash ) == false )
   723             if ( string.IsNullOrEmpty( iHash ) == false )
   715             {
   724             {
   716                 aOutput.Write( CCrashInfoFileUtilities.MakeOutputTags( iHash, CrashInfoConsts.Kcrash_hash ) );
   725                 aOutput.Write( CCrashInfoFileUtilities.MakeOutputTags( iHash, CrashInfoConsts.Kcrash_hash ) );
   717             }
   726             }
   718         }
   727         }
       
   728         
       
   729         internal void WriteDetailedCrashHash(System.IO.StreamWriter aOutput)
       
   730         {
       
   731             if (string.IsNullOrEmpty(iDetailedHash) == false)
       
   732             {
       
   733                 aOutput.Write(CCrashInfoFileUtilities.MakeOutputTags(iDetailedHash, CrashInfoConsts.Kcrash_detailedhash));
       
   734             }
       
   735         }
       
   736 
   719         internal void WriteMMCInfo(System.IO.StreamWriter aOutput)
   737         internal void WriteMMCInfo(System.IO.StreamWriter aOutput)
   720         {
   738         {
   721             //Dummy value needs to be written for dbmover
   739             //Dummy value needs to be written for dbmover
   722             CCrashInfoFileUtilities.WriteOutputTags("", CrashInfoConsts.Kmmcinfo, aOutput);
   740             CCrashInfoFileUtilities.WriteOutputTags("", CrashInfoConsts.Kmmcinfo, aOutput);
   723         }
   741         }
   899         private uint? iReportParamValue2 = null;
   917         private uint? iReportParamValue2 = null;
   900         private string iReportParamName3 = string.Empty;
   918         private string iReportParamName3 = string.Empty;
   901         private uint? iReportParamValue3 = null;
   919         private uint? iReportParamValue3 = null;
   902         private string iReportComments = string.Empty;
   920         private string iReportComments = string.Empty;
   903         private string iHash = string.Empty;
   921         private string iHash = string.Empty;
       
   922         private string iDetailedHash = string.Empty;
   904 
   923 
   905         private List<CCrashInfoCallStack> iCallStacks = new List<CCrashInfoCallStack>(); //Call stacks
   924         private List<CCrashInfoCallStack> iCallStacks = new List<CCrashInfoCallStack>(); //Call stacks
   906 
   925 
   907         private string iBinFilename = string.Empty;
   926         private string iBinFilename = string.Empty;
   908         List<string> iSymbolFiles = new List<string>();
   927         List<string> iSymbolFiles = new List<string>();