#include <stdio.h> #include <stdlib.h> #include <inttypes.h> #include "trace_reader_base.h" int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr, "Usage: %s trace_file\n", argv[0]); exit(1); } char *trace_filename = argv[1]; TraceReaderBase *trace = new TraceReaderBase; trace->Open(trace_filename); while (1) { uint64_t time, recnum, bb_num, bb_start_time; uint32_t pc, target_pc; int num_insns; if (trace->ReadExc(&time, &pc, &recnum, &target_pc, &bb_num, &bb_start_time, &num_insns)) break; printf("time: %lld rec: %llu pc: %08x target: %08x bb: %llu bb_start: %llu insns: %d\n", time, recnum, pc, target_pc, bb_num, bb_start_time, num_insns); } return 0; }