How to use wpa tool of Microsoft? Why does my .pdb files just display symbol with "!?", instead of displaying function's name?

Luo, Bihe 0 Reputation points
2024-11-20T09:22:38.7133333+00:00

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"

  1. press "start" button of wpr
  2. 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

  1. 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

Windows Performance Toolkit
Windows Performance Toolkit
A collection of Microsoft performance monitoring tools that produce in-depth performance profiles of Windows operating systems and applications.
108 questions
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.