crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Entries/Stacks/CXmlStack.cs
changeset 2 0c91f0baec58
parent 0 818e61de6cd1
child 3 045ade241ef5
--- a/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Entries/Stacks/CXmlStack.cs	Tue Feb 23 17:05:24 2010 +0200
+++ b/crashanalysercmd/Libraries/File Formats/Plugins/CrashXmlPlugin/FileFormat/Segment/Entries/Stacks/CXmlStack.cs	Wed Apr 21 09:51:02 2010 +0300
@@ -22,6 +22,7 @@
 using CrashItemLib.Crash.Stacks;
 using CrashItemLib.Crash.Registers;
 using CrashXmlPlugin.FileFormat.Node;
+using MobileCrashLib;
 
 namespace CrashXmlPlugin.FileFormat.Segment.Entries.Stacks
 {
@@ -53,6 +54,20 @@
             aParameters.Writer.WriteElementString( SegConstants.CmnSize, iStack.Size.ToString( "x" ) );
             aParameters.Writer.WriteElementString( SegConstants.CmnRange, iStack.Range.ToString() );
 
+            // Write defect hash
+            try
+            {
+                MobileCrashHashBuilder hashBuilder = MobileCrashHashBuilder.New(MobileCrashHashBuilder.TConfiguration.EDefault, iStack);
+                if (hashBuilder != null)
+                {
+                    aParameters.Writer.WriteElementString(SegConstants.Stacks_Stack_Hash, hashBuilder.GetHash());
+                }
+            }
+            catch (Exception ex)
+            {       
+                // Could not create MobileCrashHashBuilder, ignore.
+            }
+
             // Write any messages
             CXmlSegBase.XmlSerializeMessages( aParameters, iStack );
         }