protected void CheckXmlException(string expectedCode, XmlException e, int expectedLine, int expectedPosition)
        {
            string actualCode = expectedCode;
            CError.WriteLine("***Exception");
            CError.WriteLineIgnore(e.ToString());
            CError.Compare(e.LineNumber, expectedLine, "CheckXmlException:LineNumber");
            CError.Compare(e.LinePosition, expectedPosition, "CheckXmlException:LinePosition");

            CError.Compare(actualCode, expectedCode, "ec" + e.Message);
        }
        protected void CheckXmlException(string expectedCode, XmlException e, int expectedLine, int expectedPosition)
        {
            string actualCode = expectedCode;

            CError.WriteLine("***Exception");
            CError.WriteLineIgnore(e.ToString());
            CError.Compare(e.LineNumber, expectedLine, "CheckXmlException:LineNumber");
            CError.Compare(e.LinePosition, expectedPosition, "CheckXmlException:LinePosition");

            CError.Compare(actualCode, expectedCode, "ec" + e.Message);
        }
Exemple #3
0
 private void CompareException(XmlException e, string ec, Exception inner, int ln, int lp)
 {
     CError.WriteLine(e);
     CError.Compare((object)e.InnerException, (object)inner, "InnerException");
     CError.Compare(e.LineNumber, ln, "LineNumber");
     CError.Compare(e.LinePosition, lp, "LinePosition");
     string s1 = e.StackTrace;
     Type t = e.GetType();
     Exception e2 = e.GetBaseException();
     int i = e.GetHashCode();
     CError.Compare(!String.IsNullOrEmpty(e.Message), "Message");
     string s3 = e.ToString();
 }
Exemple #4
0
        private void CompareException(XmlException e, string ec, Exception inner, int ln, int lp)
        {
            CError.WriteLine(e);
            CError.Compare((object)e.InnerException, (object)inner, "InnerException");
            CError.Compare(e.LineNumber, ln, "LineNumber");
            CError.Compare(e.LinePosition, lp, "LinePosition");
            string    s1 = e.StackTrace;
            Type      t  = e.GetType();
            Exception e2 = e.GetBaseException();
            int       i  = e.GetHashCode();

            CError.Compare(!String.IsNullOrEmpty(e.Message), "Message");
            string s3 = e.ToString();
        }
        private static string RepairXmlFile(string xmlFile, XmlException xmlException)
        {
            var message = "There was an error loading this XML file! Do you wish to attempt a repair?";

#if DEBUG
            message += xmlException.ToString();
#endif
            DialogResult response =
                MessageBox.Show(message, "Error loading XML", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            if (response == DialogResult.Yes)
            {
                string safeFile = Path.GetTempFileName();
                using (StreamReader inputReader = new StreamReader(xmlFile))
                {
                    using (StreamWriter outputWriter = File.AppendText(safeFile))
                    {
                        string currentLine;
                        while (null != (currentLine = inputReader.ReadLine()))
                        {
                            var replacedSpecialChars = Regex.Replace(currentLine, "[\x00-\x08\x0B\x0C\x0E-\x1F\x26]", string.Empty);
                            var fixedConspirator     = replacedSpecialChars.Replace("</conspirator>", "</conspirator_hfid>");
                            if (fixedConspirator.Contains("<interrogator_hfid>"))
                            {
                                var fixedInterrogator = fixedConspirator.Replace("</convicted_hfid>", "</interrogator_hfid>");
                                outputWriter.WriteLine(fixedInterrogator);
                            }
                            else
                            {
                                outputWriter.WriteLine(fixedConspirator);
                            }
                        }
                        outputWriter.Close();
                    }
                    inputReader.Close();
                }
                //DialogResult overwrite =
                //    MessageBox.Show(
                //        "Repair completed. Would you like to overwrite the original file with the repaired version? (Note: No effect if opened from an archive)",
                //        "Repair Completed", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                //if (overwrite == DialogResult.Yes)
                //{
                //    File.Delete(xmlFile);
                //    File.Copy(safeFile, xmlFile);
                //    return xmlFile;
                //}
                return(safeFile);
            }
            return(null);
        }
        public static IEnumerable <TraceData> ReadTracesFromFile(string path)
        {
            var xr = XmlTextReader.Create(path, new XmlReaderSettings {
                ConformanceLevel = ConformanceLevel.Fragment
            });

            xr.Read();
            do
            {
                if (xr.NodeType == XmlNodeType.Element && xr.Name.Equals("E2ETraceEvent"))
                {
                    var xdr = xr.ReadSubtree();

                    xdr.Read();
                    XElement     xd = null;
                    XmlException xe = null;
                    try
                    {
                        xd = (XElement)XDocument.ReadFrom(xdr);
                    }
                    catch (XmlException e)
                    {
                        xe = e;
                    }
                    if (xe == null)
                    {
                        var traceData = ParseTraceData(xd);

                        if (traceData.HasValue)
                        {
                            yield return(traceData.Value);
                        }
                    }
                    else
                    {
                        var exceptionInfo = new TraceData();
                        exceptionInfo.Content       = new XElement("Exception");
                        exceptionInfo.Content.Value = xe.ToString();
                        yield return(exceptionInfo);

                        break;
                    }
                }
            } while (xr.ReadToNextSibling("E2ETraceEvent"));
        }
Exemple #7
0
 private void ReportExceptionForETW(XmlException exception)
 {
     using (IETWTracer etwTracer = PSETWTracerFactory.GetETWTracer(PSKeyword.Serializer))
         etwTracer.AnalyticChannel.WriteError(PSEventId.Serializer_XmlExceptionWhenDeserializing, PSOpcode.Exception, PSTask.Serialization, (object)exception.LineNumber, (object)exception.LinePosition, (object)exception.ToString());
 }
Exemple #8
0
 private static void ReportExceptionForETW(XmlException exception)
 {
     PSEtwLog.LogAnalyticError(PSEventId.Serializer_XmlExceptionWhenDeserializing, PSOpcode.Exception, PSTask.Serialization, PSKeyword.Serializer | PSKeyword.UseAlwaysAnalytic, new object[] { exception.LineNumber, exception.LinePosition, exception.ToString() });
 }