diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index 11c7e6576..52721a1fc 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -1235,7 +1235,11 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr } } if (funcStr.includes("/")) { - funcStr = ""; + funcStr = ""; + } else if (funcStr.includes("\\")) { + funcStr = ""; + } else if (funcStr.includes("@")) { + funcStr = ""; } else if (!validFrameFound && (funcStr.startsWith("crash_handler(") || funcStr.startsWith("_sigtramp"))) { continue; // Skip these on early frames. } @@ -1246,8 +1250,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr const offsetPos2: number = offsetPos + offsetStr.length; if (isMac) { const pendingOffset: string = line.substring(offsetPos2); - if (!pendingOffset.includes("/")) { + if (!pendingOffset.includes("/") && !pendingOffset.includes("\\") && !pendingOffset.includes("@")) { crashCallStack += pendingOffset; + } else { + crashCallStack += ""; } const startAddressPos: number = line.indexOf("0x"); if (startAddressPos === -1 || startAddressPos >= startPos) { @@ -1263,8 +1269,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr continue; // unexpected } const pendingOffset: string = line.substring(offsetPos2, endPos); - if (!pendingOffset.includes("/")) { + if (!pendingOffset.includes("/") && !pendingOffset.includes("\\") && !pendingOffset.includes("@")) { crashCallStack += pendingOffset; + } else { + crashCallStack += ""; } } } @@ -1285,6 +1293,10 @@ async function handleCrashFileRead(crashDirectory: string, crashFile: string, cr data = data.substring(0, 8191) + "…"; } + if (addressData.includes("/") || addressData.includes("\\") || addressData.includes("@")) { + addressData = ""; + } + logCppCrashTelemetry(data, addressData); await util.deleteFile(path.resolve(crashDirectory, crashFile)).catch(logAndReturn.undefined);