Fix ResolveSequencePoint() file name comparation for not Windows OSes.
authorMikhail Kurinnoi <m.kurinnoi@samsung.com>
Fri, 7 Aug 2020 07:38:21 +0000 (10:38 +0300)
committerAlexander Soldatov/Platform Lab /SRR/Staff Engineer/Samsung Electronics <soldatov.a@samsung.com>
Fri, 21 Aug 2020 09:22:15 +0000 (12:22 +0300)
src/debug/netcoredbg/SymbolReader.cs

index 943acf95333609259bf5f5e90673100e80acb38f..7da2ae59b4de75f2d04014ddf5dd94f214de8874 100644 (file)
@@ -254,10 +254,11 @@ namespace SOS
                 // If incoming filePath is not a full path, then check file names only
                 Func<string, bool> FileNameMatches;
                 string fileName = GetFileName(filePath);
+                bool isWindows = System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
                 if (fileName == filePath)
-                    FileNameMatches = s => GetFileName(s).Equals(fileName, StringComparison.OrdinalIgnoreCase);
+                    FileNameMatches = s => GetFileName(s).Equals(fileName, isWindows ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
                 else
-                    FileNameMatches = s => s.Equals(filePath, StringComparison.OrdinalIgnoreCase);
+                    FileNameMatches = s => s.Equals(filePath, isWindows ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal);
 
                 foreach (MethodDebugInformationHandle methodDebugInformationHandle in reader.MethodDebugInformation)
                 {