In BenchmarkDotNet 0.15, the Allocated native memory and Native memory leak columns of the NativeMemoryProfiler are always blank. They work correctly in BenchmarkDotNet 0.14.
The issue is that NativeMemoryLogParser.IsCallStackIn() performs a case-sensitive search for the name of the EXE in the frame stack, but the module names in the frame stack are always lowercased. Prior to #2423, the name of the EXE was a GUID, so case-sensitivity didn't matter because there were no letters in the EXE name. After that commit, the EXE name now contains some uppercase characters, so IsCallStackIn() always returns false.
In BenchmarkDotNet 0.15, the
Allocated native memoryandNative memory leakcolumns of the NativeMemoryProfiler are always blank. They work correctly in BenchmarkDotNet 0.14.The issue is that
NativeMemoryLogParser.IsCallStackIn()performs a case-sensitive search for the name of the EXE in the frame stack, but the module names in the frame stack are always lowercased. Prior to #2423, the name of the EXE was a GUID, so case-sensitivity didn't matter because there were no letters in the EXE name. After that commit, the EXE name now contains some uppercase characters, soIsCallStackIn()always returns false.