int main(int argc, char * argv[])
{
	PIN_Init(argc, argv);
	PIN_InitSymbols();

	fout.open(KnobOutfile.Value().c_str(), std::ios_base::out);

	PIN_AddForkFunction(FPOINT_AFTER_IN_CHILD, FollowChild, 0);
	PIN_AddForkFunction(FPOINT_AFTER_IN_PARENT, FollowParent, 0);
	PIN_AddForkFunction(FPOINT_BEFORE, BeforeFork, 0);

	PIN_AddFiniFunction(Fini, 0);

	RTN_AddInstrumentFunction(InstrumentRtn, 0);
	PIN_StartProgram();

	return 0;
}
int main(int argc, char *argv[])
{
    if( PIN_Init(argc,argv) )
    {
        return Usage();
    }
  
    PIN_AddForkFunction(FPOINT_AFTER_IN_CHILD, fork_func, 0);
  
    PIN_StartProgram();
  
    return 0;
}
Example #3
0
int main(int argc, char *argv[]) {
	PIN_InitSymbols();
 	if(PIN_Init(argc, argv))
		return Usage();
	PIN_InitLock(&globalLock);

	standard_out = !strcmp(KnobOutputFile.Value().c_str(), "-");
	print_chars = KnobPrintChars;

	memset(mwrite_tracker, 0, sizeof(mwrite_tracker));

	IMG_AddInstrumentFunction(Image, 0);
	INS_AddInstrumentFunction(Instruction, 0);
	PIN_AddSyscallEntryFunction(SyscallEntry, 0);
	PIN_AddSyscallExitFunction(SyscallExit, 0);
	PIN_AddThreadStartFunction(ThreadStart, 0);
	PIN_AddForkFunction(FPOINT_AFTER_IN_CHILD, AfterForkInChild, 0);

	PIN_StartProgram();

	return 0;
}