I have a multiprocess application and I trace it in Pin
using the follow_execv
switch. To put it simply, there exists a fork
in the program. Before the fork
occurs, I create a set and make some insertions. Right after fork
, because of the follow_execv
switch, an extra copy of my pintool
is created and executed. Both the parent and child pintools
contain the same contents. But after the FOLLOW_CHILD_PROCESS_CALLBACK is called, the set in the child becomes empty. Why is this happening?
P.S.: The program is gimp
. It is both multiprocess and multithreaded. Are there any limitations for these kinds of programs in Pin
?