diff --git a/Engine/ModuleInfoHelper.cs b/Engine/ModuleInfoHelper.cs index f945278..0962ae9 100644 --- a/Engine/ModuleInfoHelper.cs +++ b/Engine/ModuleInfoHelper.cs @@ -125,7 +125,7 @@ await Task.Run(() => Parallel.ForEach(listOfCallStacks, currItem => { continue; } } catch (Exception ex) { - if (!(ex is ArgumentNullException || ex is NullReferenceException || ex is XmlException)) { throw; } + if (!(ex is ArgumentNullException || ex is NullReferenceException || ex is XmlException || ex is FormatException)) { throw; } } } diff --git a/Tests/Tests.cs b/Tests/Tests.cs index bfdc712..d9d4f36 100644 --- a/Tests/Tests.cs +++ b/Tests/Tests.cs @@ -505,6 +505,9 @@ private string PrepareLargeXEventInput() { var ret = await csr.ResolveCallstacksAsync(await csr.GetListofCallStacksAsync(input, false, cts), pdbPath, false, null, false, true, false, true, false, false, null, cts); var expected = @"00 ntdll!NtWaitForSingleObject+20"; Assert.AreEqual(expected.Trim(), ret.Trim()); + input = ""; + ret = await csr.ResolveCallstacksAsync(await csr.GetListofCallStacksAsync(input, false, cts), pdbPath, false, null, false, true, false, true, false, false, null, cts); + Assert.AreEqual(input.Trim(), ret.Trim()); } /// End-to-end test with stacks being resolved based on symbols from symsrv.