I want to analyze the impact of different microarchitecture designs on a certain workload, so I would like to collect traces on a machine running that workload and use those traces in the gem5 simulator for comparison. Since this workload is a multithreaded network program with a relatively complex startup process, it cannot be run by directly loading the binary in gem5.
Is there a way to collect offline traces from a machine running the target workload? I have checked the gem5 documentation but could not find the corresponding tutorial.