crashanalysercmd/Libraries/File Formats/Plugins/CrashInfoFilePlugin/FileFormat/CCrashInfoDataBlock.cs
equal
deleted
inserted
replaced
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>(); |