I am making a PIN tool that records all arguments and returns of a system call to a trace file, so that applications that are indeterministic can be re-run using the data collected during the recording for debugging purposes. The read syscall in particular is giving me trouble:
ssize_t read(int fd, void *buf, size_t count);
I want to record the information in the buffer to the trace file, but I do not know how to retrieve it because the arguments are passed as ADDRINT, unsigned int. I already know how to retrieve the return value and other arguments for the replaying phase.