This offical documentation answered this question:
Q: Why does this happen, and how can I fix it!?
A: When WPR puts together the .ETL trace file (WPR -stop MyTraceFile.etl ...), it finds each referenced native module, loads the module header, and reads the embedded signature of the debug information, thereby generating an "ImageId event" within the trace. Later, if WPA does not find a particular ImageId event within that trace then it cannot resolve those symbols, and it will report simply: MyModule!<Missing ImageId event>Even if the trace was collected on a different machine, you can fix it, as long as you have access to the exact same version of that module:
...
That means generally you need pdb files corresponding to the binarys. If it is not available, you can try to generate .pdb from binary: https://github.com/rainers/cv2pdb
If this also not work, there is a way to access the original function address, with this address you can find source code line and function name in your familiar debugger:
Use xperf command distributed with Windows Performance Toolkit to generate raw readable events in csv: xperf -i xxx.etl -o xxx.csv
Open this csv file, search and located your interested specific event by type (eg. VirtualAlloc), timestamp or address, etc. You will get a sequence of stacks with raw function address info. The meaning of each column is shown at the top of csv.
Use your debugger to get the source code corresponding to the address.