How to use wpa tool of Microsoft? Why does my .pdb files just display symbol with "!?", instead of displaying function's name?
hi,I try to use wpr/wpa tools for memory info during user process, using my test application which calls VirtualAlloc.
I hope that wpa can display which function name of my test application calls VirtualAlloc if I select "commit stack".
=========================================
I upload my main.cpp and CMakeLists.txt in following my commend.
OS: win11 pro, 10.0.26100
Wpa version: 11.7.383.39833
=========================================
My steps to run wpa:
1.Open wpr, select "Heap usage" and "VirtualAlloc usage"
- press "start" button of wpr
- run my app "mtfpdbtest.exe" on terminal
4.Press "stop" button of wpr
5.Save etl files and open in wpa
6.Select trace -> configure symbol paths, select folder which includes my mtfpdbtest.pdb file, then click "Load symbols"
7.Select memory -> "VirtualAlloc commit lifetimes" graph in the Memory category of the Graph Explorer, and drag and drop it onto Analysis tab
8.Organize the table to show these columns. Right-click on the column headers to add "commit stack" column
9.Find mtfpdbtest.exe in the process list, and Right-click and select Filter to Selection
- I found VirtualAlloc call, but wpa didn't display the which function called VirtualAlloc, just display mtfpdbtest.exe with appending "!?". I think this is not incorrected.
What should I do? and can someone give me a hand? [Root]/ntdll.dll!RtlUserThreadStart/kernel32.dll!BaseThreadInitThunk/mtfpdbtest.exe!?/mtfpdbtest.exe!?/mtfpdbtest.exe!?/mtfpdbtest.exe!?/mtfpdbtest.exe!?/mtfpdbtest.exe!?/KernelBase.dll!VirtualAlloc/ntdll.dll!NtAllocateVirtualMemory/ntoskrnl.exe!KiSystemServiceCopyEnd/ntoskrnl.exe!NtAllocateVirtualMemory/ntoskrnl.exe!MiAllocateVirtualMemory/ntoskrnl.exe!PerfInfoLogVirtualAlloc/ntoskrnl.exe!EtwTraceSiloKernelEvent/ntoskrnl.exe!EtwpLogKernelEvent/ntoskrnl.exe!EtwpStackTraceDispatcher/ntoskrnl.exe!EtwpTraceStackWalk