A few days ago, I checked the option 'Download symbol files' in 'Advanced Options' when start profiling. And as expected, while taking a snapshot from the target process, symbol files for every modules including native code are downloaded. And after that, when I open the captured snapshot(*.dtt), I can see all native call-stacks even inside of KernelBase.dll or ntdll.dll like GetQueuedCompletionStatus which is API for IOCP. That's good.
But, when I tried to check .NET memory allocations, I saw some weird aspect. Every memory allocations are led to ETW::SamplingLog::SendStackTrace, like below.
It made me hard to match hotspots and call tree, a little, so I decied to clear downloaded symbol files for test. But even after deleting all files in downloaded symbol files and clearing the option 'Download symbol files', when I take a snapshot from the target process and open that, every native code stacks are visible as it does before deletion.
I deleted all files from two directories listed above, 'C:\Windows\Temp' and 'C:\Users\***\AppData\Local\Temp', but still native call stacks are visible like after I downloaded symbol files. There's no environment variable _NT_SYMBOL_PATH defined, and searched all disk *.pdb but could not find any candidate.
Clearing caches from Settings tab had no effect, too.
I'm using dotTrace 2022.3.2 on Windows 10 Enterprise x64(22H2, Build 19045.2486).
Is there anything should I check more to make it back to the state before downloading any symbol files? Or, am I misunderstanding something?
Thanks in advance.