Beispiel #1
0
		private static void SymbolicateAction (List<string> args)
		{
			var msymDir = args [0];
			var inputFile = args [1];

			var symbolManager = new SymbolManager (msymDir, logger);

			using (StreamReader r = new StreamReader (inputFile)) {
				for (var line = r.ReadLine (); line != null; line = r.ReadLine ()) {
					StackFrameData sfData;
					if (StackFrameData.TryParse (line, out sfData) &&
						symbolManager.TryResolveLocation (sfData)) {
						Console.WriteLine (sfData.ToString ());
						continue;
					}

					Console.WriteLine (line);
				}
			}
		}
Beispiel #2
0
        private static void SymbolicateAction(List <string> args)
        {
            var msymDir   = args [0];
            var inputFile = args [1];

            var symbolManager = new SymbolManager(msymDir, logger);

            using (StreamReader r = new StreamReader(inputFile)) {
                for (var line = r.ReadLine(); line != null; line = r.ReadLine())
                {
                    if (StackFrameData.TryParse(line, out var sfData) && symbolManager.TryResolveLocation(sfData, out var location))
                    {
                        var sign = sfData.Line.Substring(0, sfData.Line.IndexOf(" in <", StringComparison.Ordinal));
                        line = $"{sign} in {location.File}:{location.Line}";
                    }

                    Console.WriteLine(line);
                }
            }
        }
Beispiel #3
0
        private static void SymbolicateAction(List <string> args)
        {
            var msymDir   = args [0];
            var inputFile = args [1];

            var symbolManager = new SymbolManager(msymDir, logger);

            using (StreamReader r = new StreamReader(inputFile)) {
                for (var line = r.ReadLine(); line != null; line = r.ReadLine())
                {
                    StackFrameData sfData;
                    if (StackFrameData.TryParse(line, out sfData) &&
                        symbolManager.TryResolveLocation(sfData))
                    {
                        Console.WriteLine(sfData.ToString());
                        continue;
                    }

                    Console.WriteLine(line);
                }
            }
        }
Beispiel #4
0
        private static void DumpStackTrace(SymbolManager symbolManager, StringBuilder sb, List <StackFrameData> stackFrames, List <StackTraceMetadata> metadata)
        {
            string aotid         = null;
            var    aotidMetadata = metadata.FirstOrDefault(m => m.Id == "AOTID");

            if (aotidMetadata != null)
            {
                aotid = aotidMetadata.Value;
            }

            var linesMvid  = ProcessLinesMVID(metadata);
            var lineNumber = -1;

            foreach (var sfData in stackFrames)
            {
                string mvid = null;
                lineNumber++;
                if (!sfData.IsValid)
                {
                    continue;
                }
                if (linesMvid.ContainsKey(lineNumber))
                {
                    mvid = linesMvid [lineNumber];
                }

                symbolManager.TryResolveLocation(sfData, mvid, aotid);

                sb.AppendLine(sfData.ToString());
            }

            foreach (var m in metadata)
            {
                sb.AppendLine(m.Line);
            }
        }
Beispiel #5
0
		private static void DumpStackTrace (SymbolManager symbolManager, StringBuilder sb, List<StackFrameData> stackFrames, List<StackTraceMetadata> metadata)
		{
			string aotid = null;
			var aotidMetadata = metadata.FirstOrDefault ( m => m.Id == "AOTID" );
			if (aotidMetadata != null)
				aotid = aotidMetadata.Value;

			var linesMvid = ProcessLinesMVID (metadata);
			var lineNumber = -1;
			foreach (var sfData in stackFrames) {
				string mvid = null;
				lineNumber++;
				if (!sfData.IsValid)
					continue;
				if (linesMvid.ContainsKey (lineNumber))
					mvid = linesMvid [lineNumber];

				symbolManager.TryResolveLocation (sfData, mvid, aotid);

				sb.AppendLine (sfData.ToString ());
			}

			foreach (var m in metadata)
				sb.AppendLine (m.Line);
		}