From 0f9c5caa3cdda05718169232fab9a7f4560d7102 Mon Sep 17 00:00:00 2001 From: Marcos Henrich Date: Tue, 21 Jun 2016 11:26:57 +0100 Subject: [PATCH] [mono-symbolicate] Fixes symbolication of AOTed Sequence points are only required if native offsets are on the stacktrace. fix -- seq point info aot --- mcs/tools/mono-symbolicate/LocationProvider.cs | 11 ++++++++++- mcs/tools/mono-symbolicate/SymbolManager.cs | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/mcs/tools/mono-symbolicate/LocationProvider.cs b/mcs/tools/mono-symbolicate/LocationProvider.cs index 5c41d5f98cd..3e9d8837138 100644 --- a/mcs/tools/mono-symbolicate/LocationProvider.cs +++ b/mcs/tools/mono-symbolicate/LocationProvider.cs @@ -47,7 +47,16 @@ namespace Mono if (method == null) return false; - int ilOffset = sfData.IsILOffset ? sfData.Offset : seqPointInfo.GetILOffset (method.MetadataToken.ToInt32 (), sfData.MethodIndex, sfData.Offset); + int ilOffset; + if (sfData.IsILOffset) { + ilOffset = sfData.Offset; + } else { + if (seqPointInfo == null) + return false; + + ilOffset = seqPointInfo.GetILOffset (method.MetadataToken.ToInt32 (), sfData.MethodIndex, sfData.Offset); + } + if (ilOffset < 0) return false; diff --git a/mcs/tools/mono-symbolicate/SymbolManager.cs b/mcs/tools/mono-symbolicate/SymbolManager.cs index 1d35a5ee3a0..c2321f523ac 100644 --- a/mcs/tools/mono-symbolicate/SymbolManager.cs +++ b/mcs/tools/mono-symbolicate/SymbolManager.cs @@ -22,7 +22,7 @@ namespace Mono var assemblyLocProvider = GetOrCreateAssemblyLocationProvider (mvid); SeqPointInfo seqPointInfo = null; - if (aotid != null) + if (!sfData.IsILOffset && aotid != null) seqPointInfo = GetOrCreateSeqPointInfo (aotid); return assemblyLocProvider.TryResolveLocation (sfData, seqPointInfo); -- 2.25.1