Pin
Classes | Typedefs | Enumerations | Functions | Variables
LEVEL_PINCLIENT Namespace Reference

Classes

class  SymbolAddressRange
 
struct  SymbolDebugInfo
 

Typedefs

typedef LEVEL_BASE::CHILD_PROCESS_CLASS * CHILD_PROCESS
 
typedef BOOL(* FOLLOW_CHILD_PROCESS_CALLBACK) (CHILD_PROCESS childProcess, VOID *val)
 
typedef BOOL(* DEBUG_INTERPRETER_CALLBACK) (THREADID threadIndex, CONTEXT *ctxt, const std::string &cmd, std::string *reply, VOID *v)
 
typedef BOOL(* DEBUG_BREAKPOINT_CALLBACK) (ADDRINT addr, UINT size, BOOL insert, VOID *v)
 
typedef VOID(* IMAGECALLBACK) (IMG, VOID *)
 
typedef EXCEPT_HANDLING_RESULT(* INTERNAL_EXCEPTION_CALLBACK) (THREADID tid, EXCEPTION_INFO *pExceptInfo, PHYSICAL_CONTEXT *pPhysCtxt, VOID *v)
 
typedef TRACE_CLASS * TRACE
 
typedef VOID * PIN_CONFIGURATION_INFO
 
typedef COMPLEX_CALLBACKVAL_BASE * PIN_CALLBACK
 
typedef VOID(* REMOVE_INSTRUMENTATION_CALLBACK) (VOID *v)
 
typedef VOID(* DETACH_CALLBACK) (VOID *v)
 
typedef VOID(* DETACH_PROBED_CALLBACK) (VOID *v)
 
typedef VOID(* ATTACH_PROBED_CALLBACK) (VOID *v)
 
typedef VOID(* ATTACH_CALLBACK) (VOID *v)
 
typedef VOID(* APPLICATION_START_CALLBACK) (VOID *v)
 
typedef VOID(* PREPARE_FOR_FINI_CALLBACK) (VOID *v)
 
typedef VOID(* FINI_CALLBACK) (INT32 code, VOID *v)
 
typedef size_t(* FETCH_CALLBACK) (void *buf, ADDRINT addr, size_t size, EXCEPTION_INFO *pExceptInfo, VOID *v)
 
typedef VOID(* OUT_OF_MEMORY_CALLBACK) (size_t size, VOID *v)
 
typedef ADDRINT(PIN_FAST_ANALYSIS_CALLMEMORY_ADDR_TRANS_CALLBACK) (PIN_MEM_TRANS_INFO *memTransInfo, VOID *v)
 
typedef VOID(* SMC_CALLBACK) (ADDRINT traceStartAddress, ADDRINT traceEndAddress, VOID *v)
 
typedef VOID(* FORK_CALLBACK) (THREADID threadid, const CONTEXT *ctxt, VOID *v)
 
typedef VOID(* THREAD_START_CALLBACK) (THREADID threadIndex, CONTEXT *ctxt, INT32 flags, VOID *v)
 
typedef VOID(* THREAD_ATTACH_PROBED_CALLBACK) (VOID *sigmask, VOID *v)
 
typedef VOID(* THREAD_DETACH_PROBED_CALLBACK) (VOID *v)
 
typedef VOID(* THREAD_ATTACH_CALLBACK) (THREADID threadIndex, CONTEXT *ctxt, VOID *v)
 
typedef VOID(* THREAD_DETACH_CALLBACK) (THREADID threadIndex, const CONTEXT *ctxt, VOID *v)
 
typedef VOID(* THREAD_FINI_CALLBACK) (THREADID threadIndex, const CONTEXT *ctxt, INT32 code, VOID *v)
 
typedef VOID(* CONTEXT_CHANGE_CALLBACK) (THREADID threadIndex, CONTEXT_CHANGE_REASON reason, const CONTEXT *from, CONTEXT *to, INT32 info, VOID *v)
 
typedef VOID(* SYSCALL_ENTRY_CALLBACK) (THREADID threadIndex, CONTEXT *ctxt, SYSCALL_STANDARD std, VOID *v)
 
typedef VOID(* SYSCALL_EXIT_CALLBACK) (THREADID threadIndex, CONTEXT *ctxt, SYSCALL_STANDARD std, VOID *v)
 
typedef BOOL(* INTERCEPT_SIGNAL_CALLBACK) (THREADID tid, INT32 sig, CONTEXT *ctxt, BOOL hasHandler, const EXCEPTION_INFO *pExceptInfo, VOID *v)
 
typedef VOID *(* TRACE_BUFFER_CALLBACK) (BUFFER_ID id, THREADID tid, const CONTEXT *ctxt, VOID *buf, UINT64 numElements, VOID *v)
 
typedef VOID(* INS_INSTRUMENT_CALLBACK) (INS ins, VOID *v)
 
typedef VOID(* TRACE_INSTRUMENT_CALLBACK) (TRACE trace, VOID *v)
 
typedef VOID(* RTN_INSTRUMENT_CALLBACK) (RTN rtn, VOID *v)
 
typedef VOID(* FORK_PROBE_MODE_CALLBACK) (UINT32 childPid, VOID *v)
 

Enumerations

enum  UNDECORATION {
  UNDECORATION_COMPLETE,
  UNDECORATION_NAME_ONLY
}
 
enum  SYMBOL_INFO_MODE {
  NO_SYMBOLS = 0,
  EXPORT_SYMBOLS = (1<<0),
  DEBUG_SYMBOLS = (1<<1),
  IFUNC_SYMBOLS = (1<<2),
  DEBUG_OR_EXPORT_SYMBOLS = (DEBUG_SYMBOLS | EXPORT_SYMBOLS)
}
 
enum  PROBE_MODE {
  PROBE_MODE_DEFAULT = 0,
  PROBE_MODE_ALLOW_RELOCATION = (1<<0)
}
 
enum  SMC_ENABLE_DISABLE_TYPE {
  SMC_ENABLE,
  SMC_DISABLE
}
 
enum  FPOINT {
  FPOINT_BEFORE,
  FPOINT_AFTER_IN_PARENT,
  FPOINT_AFTER_IN_CHILD
}
 
enum  ATTACH_STATUS {
  ATTACH_INITIATED,
  ATTACH_FAILED_DETACH
}
 

Functions

VOID PIN_InitSymbols ()
 
BOOL PIN_InitSymbolsAlt (SYMBOL_INFO_MODE mode)
 
PIN_CALLBACK PIN_AddFollowChildProcessFunction (FOLLOW_CHILD_PROCESS_CALLBACK fun, VOID *val)
 
OS_PROCESS_ID CHILD_PROCESS_GetId (CHILD_PROCESS childProcess)
 
VOID CHILD_PROCESS_GetCommandLine (CHILD_PROCESS childProcess, INT *pArgc, const CHAR *const **pArgv)
 
VOID CHILD_PROCESS_SetPinCommandLine (CHILD_PROCESS childProcess, INT argc, const CHAR *const *argv)
 
void PIN_GetSourceLocation (ADDRINT address, INT32 *column, INT32 *line, std::string *fileName)
 
PIN_CALLBACK PIN_AddDebugInterpreter (DEBUG_INTERPRETER_CALLBACK fun, VOID *val)
 
VOID PIN_RemoveDebugInterpreter (DEBUG_INTERPRETER_CALLBACK fun)
 
PIN_CALLBACK PIN_AddBreakpointHandler (DEBUG_BREAKPOINT_CALLBACK fun, VOID *val)
 
VOID PIN_RemoveBreakpointHandler (DEBUG_BREAKPOINT_CALLBACK fun)
 
VOID PIN_ResetBreakpointAt (ADDRINT addr)
 
VOID PIN_ApplicationBreakpoint (const CONTEXT *ctxt, THREADID tid, BOOL waitIfNoDebugger, const std::string &msg)
 
BOOL PIN_SetDebugMode (const DEBUG_MODE *mode)
 
DEBUG_STATUS PIN_GetDebugStatus ()
 
BOOL PIN_GetDebugConnectionInfo (DEBUG_CONNECTION_INFO *info)
 
DEBUGGER_TYPE PIN_GetDebuggerType ()
 
BOOL PIN_WaitForDebuggerToConnect (unsigned timeout)
 
BOOL PIN_GetStoppedThreadPendingToolBreakpoint (THREADID tid, std::string *msg)
 
BOOL PIN_ChangePendingToolBreakpointOnStoppedThread (THREADID tid, BOOL squash, const std::string &msg)
 
PIN_DEPRECATED_API VOID CALLBACK_SetExecutionPriority (PIN_CALLBACK callback, INT32 priority)
 
PIN_DEPRECATED_API INT32 CALLBACK_GetExecutionPriority (PIN_CALLBACK callback)
 
IMG IMG_Next (IMG img)
 
IMG IMG_Prev (IMG img)
 
IMG IMG_Invalid ()
 
BOOL IMG_Valid (IMG img)
 
SEC IMG_SecHead (IMG img)
 
SEC IMG_SecTail (IMG img)
 
SYM IMG_RegsymHead (IMG img)
 
PIN_DEPRECATED_API ADDRINT IMG_Entry (IMG img)
 
ADDRINT IMG_EntryAddress (IMG img)
 
BOOL IMG_HasProperty (IMG img, IMG_PROPERTY property)
 
const std::string & IMG_Name (IMG img)
 
ADDRINT IMG_Gp (IMG img)
 
ADDRINT IMG_LoadOffset (IMG img)
 
ADDRINT IMG_LowAddress (IMG img)
 
ADDRINT IMG_HighAddress (IMG img)
 
ADDRINT IMG_StartAddress (IMG img)
 
USIZE IMG_SizeMapped (IMG img)
 
IMG_TYPE IMG_Type (IMG img)
 
BOOL IMG_IsMainExecutable (IMG x)
 
BOOL IMG_hasLinesData (IMG x)
 
BOOL IMG_IsInterpreter (IMG x)
 
BOOL IMG_IsStaticExecutable (IMG x)
 
BOOL IMG_IsVDSO (IMG img)
 
UINT32 IMG_NumRegions (IMG img)
 
ADDRINT IMG_RegionHighAddress (IMG img, UINT32 n)
 
ADDRINT IMG_RegionLowAddress (IMG img, UINT32 n)
 
IMG SEC_Img (SEC sec)
 
SEC SEC_Next (SEC sec)
 
SEC SEC_Prev (SEC sec)
 
SEC SEC_Invalid ()
 
BOOL SEC_Valid (SEC x)
 
RTN SEC_RtnHead (SEC sec)
 
RTN SEC_RtnTail (SEC sec)
 
const std::string & SEC_Name (SEC sec)
 
SEC_TYPE SEC_Type (SEC sec)
 
BOOL SEC_Mapped (SEC sec)
 
const VOID * SEC_Data (SEC sec)
 
SEC RTN_Sec (RTN x)
 
RTN RTN_Next (RTN x)
 
RTN RTN_Prev (RTN x)
 
RTN RTN_Invalid ()
 
BOOL RTN_Valid (RTN x)
 
const std::string & RTN_Name (RTN x)
 
BOOL RTN_IsArtificial (RTN x)
 
SYM RTN_Sym (RTN x)
 
UINT RTN_DynamicMethodId (RTN x)
 
AFUNPTR RTN_Funptr (RTN x)
 
UINT32 RTN_Id (RTN x)
 
INS BBL_InsHead (BBL x)
 
INS BBL_InsTail (BBL x)
 
BBL BBL_Next (BBL x)
 
BBL BBL_Prev (BBL x)
 
BOOL BBL_Valid (BBL x)
 
RTN INS_Rtn (INS x)
 
INS INS_Next (INS x)
 
INS INS_Prev (INS x)
 
INS INS_Invalid ()
 
BOOL INS_Valid (INS x)
 
ADDRINT INS_Address (INS ins)
 
USIZE INS_Size (INS ins)
 
PIN_DEPRECATED_API ADDRINT INS_DirectBranchOrCallTargetAddress (INS ins)
 
ADDRINT INS_DirectControlFlowTargetAddress (INS ins)
 
ADDRINT INS_NextAddress (INS ins)
 
SYM SYM_Next (SYM x)
 
SYM SYM_Prev (SYM x)
 
const std::string & SYM_Name (SYM x)
 
SYM SYM_Invalid ()
 
BOOL SYM_Valid (SYM x)
 
BOOL SYM_Dynamic (SYM x)
 
BOOL SYM_GeneratedByPin (SYM x)
 
BOOL SYM_IFuncImplementation (SYM x)
 
BOOL SYM_IFuncResolver (SYM x)
 
ADDRINT SYM_Value (SYM x)
 
UINT32 SYM_Index (SYM x)
 
ADDRINT SYM_Address (SYM x)
 
UINT32 IMG_Id (IMG x)
 
VOID * IMG_DynamicRawData (IMG img)
 
IMG IMG_FindImgById (UINT32 id)
 
IMG IMG_FindByAddress (ADDRINT address)
 
PIN_CALLBACK RTN_AddInstrumentFunction (RTN_INSTRUMENT_CALLBACK fun, VOID *val)
 
PIN_CALLBACK IMG_AddInstrumentFunction (IMAGECALLBACK fun, VOID *v)
 
PIN_CALLBACK IMG_AddUnloadFunction (IMAGECALLBACK fun, VOID *v)
 
USIZE RTN_Range (RTN rtn)
 
USIZE RTN_Size (RTN rtn)
 
RTN RTN_IFuncResolver (RTN rtn)
 
RTN RTN_IFuncImplementation (RTN rtn)
 
IMG IMG_Open (const std::string &filename)
 
VOID IMG_Close (IMG img)
 
std::string RTN_FindNameByAddress (ADDRINT address)
 
RTN RTN_FindByAddress (ADDRINT address)
 
RTN RTN_FindByName (IMG img, const CHAR *name)
 
VOID RTN_Open (RTN rtn)
 
VOID RTN_Close (RTN rtn)
 
INS RTN_InsHead (RTN rtn)
 
INS RTN_InsHeadOnly (RTN rtn)
 
INS RTN_InsTail (RTN rtn)
 
UINT32 RTN_NumIns (RTN rtn)
 
VOID RTN_InsertCall (RTN rtn, IPOINT action, AFUNPTR funptr,...)
 
ADDRINT RTN_Address (RTN rtn)
 
RTN RTN_CreateAt (ADDRINT address, std::string name)
 
BOOL RTN_IsDynamic (RTN rtn)
 
ADDRINT SEC_Address (SEC sec)
 
BOOL SEC_IsReadable (SEC sec)
 
BOOL SEC_IsWriteable (SEC sec)
 
BOOL SEC_IsExecutable (SEC sec)
 
USIZE SEC_Size (SEC sec)
 
BOOL BBL_Original (BBL bbl)
 
ADDRINT BBL_Address (BBL bbl)
 
USIZE BBL_Size (BBL bbl)
 
IMG APP_ImgHead ()
 
IMG APP_ImgTail ()
 
std::string PIN_UndecorateSymbolName (const std::string &symbolName, UNDECORATION style)
 
PIN_CALLBACK PIN_AddInternalExceptionHandler (INTERNAL_EXCEPTION_CALLBACK fun, VOID *val)
 
VOID PIN_TryStart (THREADID tid, INTERNAL_EXCEPTION_CALLBACK fun, VOID *val)
 
VOID PIN_TryEnd (THREADID tid)
 
BOOL PIN_IsProbeMode ()
 
BOOL PIN_IsAttaching ()
 
BOOL RTN_IsSafeForProbedInsertion (RTN rtn)
 
BOOL RTN_IsSafeForProbedInsertionEx (RTN rtn, PROBE_MODE mode)
 
BOOL RTN_IsSafeForProbedReplacement (RTN rtn)
 
BOOL RTN_IsSafeForProbedReplacementEx (RTN rtn, PROBE_MODE mode)
 
AFUNPTR RTN_ReplaceSignatureProbed (RTN replacedRtn, AFUNPTR replacementFun,...)
 
AFUNPTR RTN_ReplaceSignatureProbedEx (RTN replacedRtn, PROBE_MODE mode, AFUNPTR replacementFun,...)
 
VOID RTN_InsertCallProbed (RTN orgRtn, IPOINT action, AFUNPTR funptr,...)
 
VOID RTN_InsertCallProbedEx (RTN orgRtn, IPOINT action, PROBE_MODE mode, AFUNPTR funptr,...)
 
BOOL PIN_IsSafeForProbedInsertion (ADDRINT addr)
 
VOID PIN_InsertCallProbed (ADDRINT addr, AFUNPTR funptr,...)
 
PROTO PROTO_Allocate (PARG_T returnArg, CALLINGSTD_TYPE cstype, const char *name,...)
 
VOID PROTO_Free (PROTO proto)
 
GLOBALCONST PIN_CALLBACK PIN_CALLBACK_INVALID (0)
 
VOID PIN_LockClient ()
 
VOID PIN_UnlockClient ()
 
VOID PIN_WriteErrorMessage (const char *msg, INT32 type, PIN_ERR_SEVERITY_TYPE severity, INT32 num,...)
 
AFUNPTR RTN_Replace (RTN replacedRtn, AFUNPTR replacementFun)
 
AFUNPTR RTN_ReplaceSignature (RTN replacedRtn, AFUNPTR replacementFun,...)
 
AFUNPTR RTN_ReplaceProbed (RTN replacedRtn, AFUNPTR replacementFun)
 
AFUNPTR RTN_ReplaceProbedEx (RTN replacedRtn, PROBE_MODE mode, AFUNPTR replacementFun)
 
VOID PIN_CallApplicationFunction (const CONTEXT *ctxt, THREADID tid, CALLINGSTD_TYPE cstype, AFUNPTR origFunPtr, CALL_APPLICATION_FUNCTION_PARAM *param,...)
 
BOOL INS_IsAddedForFunctionReplacement (INS ins)
 
VOID CALLBACK_SetExecutionOrder (PIN_CALLBACK callback, CALL_ORDER order)
 
CALL_ORDER CALLBACK_GetExecutionOrder (PIN_CALLBACK callback)
 
PIN_CALLBACK TRACE_AddInstrumentFunction (TRACE_INSTRUMENT_CALLBACK fun, VOID *val)
 
PIN_CALLBACK INS_AddInstrumentFunction (INS_INSTRUMENT_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddFiniFunction (FINI_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddPrepareForFiniFunction (PREPARE_FOR_FINI_CALLBACK fun, VOID *val)
 
VOID PIN_AddFetchFunction (FETCH_CALLBACK fun, VOID *val)
 
size_t PIN_FetchCode (void *copyBuf, const VOID *address, size_t maxSize, EXCEPTION_INFO *pExceptInfo)
 
VOID PIN_AddOutOfMemoryFunction (OUT_OF_MEMORY_CALLBACK fun, VOID *val)
 
VOID PIN_AddMemoryAddressTransFunction (MEMORY_ADDR_TRANS_CALLBACK fun, VOID *val)
 
VOID TRACE_AddSmcDetectedFunction (SMC_CALLBACK fun, VOID *val)
 
MEMORY_ADDR_TRANS_CALLBACK PIN_GetMemoryAddressTransFunction ()
 
PIN_CALLBACK PIN_AddDetachFunction (DETACH_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddDetachFunctionProbed (DETACH_PROBED_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddThreadStartFunction (THREAD_START_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddThreadAttachProbedFunction (THREAD_ATTACH_PROBED_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddThreadAttachFunction (THREAD_ATTACH_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddThreadDetachProbedFunction (THREAD_DETACH_PROBED_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddThreadDetachFunction (THREAD_DETACH_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddApplicationStartFunction (APPLICATION_START_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddThreadFiniFunction (THREAD_FINI_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddContextChangeFunction (CONTEXT_CHANGE_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddSyscallEntryFunction (SYSCALL_ENTRY_CALLBACK fun, VOID *val)
 
PIN_CALLBACK PIN_AddSyscallExitFunction (SYSCALL_EXIT_CALLBACK fun, VOID *val)
 
BOOL PIN_InterceptSignal (INT32 sig, INTERCEPT_SIGNAL_CALLBACK fun, VOID *val)
 
BOOL PIN_UnblockSignal (INT32 sig, BOOL enable)
 
VOID PIN_SetSmcSupport (SMC_ENABLE_DISABLE_TYPE enable_disable)
 
PIN_CALLBACK PIN_AddForkFunction (FPOINT point, FORK_CALLBACK fun, VOID *val)
 
VOID PIN_RemoveInstrumentation ()
 
VOID PIN_RemoveInstrumentationInRange (ADDRINT start, ADDRINT end)
 
VOID PIN_RemoveFiniFunctions ()
 
VOID PIN_Detach ()
 
ATTACH_STATUS PIN_Attach (ATTACH_CALLBACK fun, VOID *val)
 
VOID PIN_DetachProbed ()
 
ATTACH_STATUS PIN_AttachProbed (ATTACH_PROBED_CALLBACK fun, VOID *val)
 
VOID INS_InsertPredicatedCall (INS ins, IPOINT ipoint, AFUNPTR funptr,...)
 
VOID INS_InsertCall (INS ins, IPOINT action, AFUNPTR funptr,...)
 
VOID INS_InsertIfCall (INS ins, IPOINT action, AFUNPTR funptr,...)
 
VOID INS_InsertThenCall (INS ins, IPOINT action, AFUNPTR funptr,...)
 
VOID INS_InsertIfPredicatedCall (INS ins, IPOINT action, AFUNPTR funptr,...)
 
VOID INS_InsertThenPredicatedCall (INS ins, IPOINT action, AFUNPTR funptr,...)
 
PIN_CONFIGURATION_INFO PIN_CreateDefaultConfigurationInfo ()
 
VOID PIN_SetAllowedConcurrentCallbacks (PIN_CONFIGURATION_INFO options, PIN_CALLBACK_TYPE callbackType)
 
VOID PIN_StartProgram (PIN_CONFIGURATION_INFO options=PIN_CreateDefaultConfigurationInfo())
 
VOID PIN_StartProgramProbed ()
 
const std::string & PIN_Version ()
 
BOOL PIN_Init (INT32 argc, CHAR **argv)
 
VOID TRACE_InsertCall (TRACE trace, IPOINT action, AFUNPTR funptr,...)
 
VOID TRACE_InsertIfCall (TRACE trace, IPOINT action, AFUNPTR funptr,...)
 
VOID TRACE_InsertThenCall (TRACE trace, IPOINT action, AFUNPTR funptr,...)
 
BBL TRACE_BblHead (TRACE trace)
 
BBL TRACE_BblTail (TRACE trace)
 
ADDRINT TRACE_Address (TRACE trace)
 
USIZE TRACE_Size (TRACE trace)
 
RTN TRACE_Rtn (TRACE trace)
 
BOOL TRACE_HasFallThrough (TRACE trace)
 
UINT32 TRACE_NumBbl (TRACE trace)
 
UINT32 TRACE_NumIns (TRACE trace)
 
VOID BBL_InsertCall (BBL bbl, IPOINT action, AFUNPTR funptr,...)
 
VOID BBL_InsertIfCall (BBL bbl, IPOINT action, AFUNPTR funptr,...)
 
VOID BBL_InsertThenCall (BBL bbl, IPOINT action, AFUNPTR funptr,...)
 
BOOL BBL_HasFallThrough (BBL bbl)
 
BOOL PIN_SupportsProcessorState (PROCESSOR_STATE state)
 
BOOL PIN_ContextContainsState (CONTEXT *ctxt, PROCESSOR_STATE state)
 
VOID PIN_SetContextRegval (CONTEXT *ctxt, REG reg, const UINT8 *val)
 
VOID PIN_GetContextRegval (const CONTEXT *ctxt, REG reg, UINT8 *val)
 
VOID PIN_SetContextReg (CONTEXT *ctxt, REG reg, ADDRINT val)
 
ADDRINT PIN_GetContextReg (const CONTEXT *ctxt, REG reg)
 
VOID PIN_SetContextFPState (CONTEXT *ctxt, const FPSTATE *fpstate)
 
VOID PIN_GetContextFPState (const CONTEXT *ctxt, FPSTATE *fpstate)
 
REGSET PIN_GetFullContextRegsSet ()
 
VOID PIN_SaveContext (const CONTEXT *ctxtFrom, CONTEXT *ctxtTo)
 
VOID PIN_ExecuteAt (const CONTEXT *ctxt)
 
VOID PIN_SetSyscallArgument (CONTEXT *ctxt, SYSCALL_STANDARD std, UINT32 argNum, ADDRINT val)
 
ADDRINT PIN_GetSyscallArgument (const CONTEXT *ctxt, SYSCALL_STANDARD std, UINT32 argNum)
 
VOID PIN_SetSyscallNumber (CONTEXT *ctxt, SYSCALL_STANDARD std, ADDRINT val)
 
ADDRINT PIN_GetSyscallNumber (const CONTEXT *ctxt, SYSCALL_STANDARD std)
 
ADDRINT PIN_GetSyscallReturn (const CONTEXT *ctxt, SYSCALL_STANDARD std)
 
ADDRINT PIN_GetSyscallErrno (const CONTEXT *ctxt, SYSCALL_STANDARD std)
 
VOID PIN_SetPhysicalContextReg (PHYSICAL_CONTEXT *pPhysCtxt, REG reg, ADDRINT val)
 
ADDRINT PIN_GetPhysicalContextReg (const PHYSICAL_CONTEXT *pPhysCtxt, REG reg)
 
VOID PIN_SetPhysicalContextFPState (PHYSICAL_CONTEXT *pPhysCtxt, const VOID *fpstate)
 
VOID PIN_GetPhysicalContextFPState (const PHYSICAL_CONTEXT *pPhysCtxt, VOID *fpstate)
 
VOID PIN_RaiseException (const CONTEXT *ctxt, THREADID tid, const EXCEPTION_INFO *pExceptInfo)
 
VOID INS_RewriteMemoryOperand (INS ins, UINT32 memindex, REG reg)
 
VOID INS_InsertIndirectJump (INS ins, IPOINT ipoint, REG reg)
 
VOID INS_InsertDirectJump (INS ins, IPOINT ipoint, ADDRINT tgt)
 
REG PIN_ClaimToolRegister ()
 
CHAR * PIN_VmFullPath ()
 
const CHAR * PIN_ToolFullPath ()
 
NORETURN VOID PIN_ExitProcess (INT32 exitCode)
 
INT PIN_GetPid ()
 
VOID INS_Delete (INS ins)
 
VOID IARGLIST_AddArguments (IARGLIST args,...)
 
IARGLIST IARGLIST_Alloc ()
 
VOID IARGLIST_Free (IARGLIST args)
 
size_t PIN_SafeCopy (VOID *dst, const VOID *src, size_t size)
 
size_t PIN_SafeCopyEx (VOID *dst, const VOID *src, size_t size, EXCEPTION_INFO *pExceptInfo)
 
VOID INS_InsertFillBuffer (INS ins, IPOINT action, BUFFER_ID id,...)
 
VOID INS_InsertFillBufferPredicated (INS ins, IPOINT action, BUFFER_ID id,...)
 
VOID INS_InsertFillBufferThen (INS ins, IPOINT action, BUFFER_ID id,...)
 
BUFFER_ID PIN_DefineTraceBuffer (size_t recordSize, UINT32 numPages, TRACE_BUFFER_CALLBACK fun, VOID *val)
 
VOID * PIN_AllocateBuffer (BUFFER_ID id)
 
VOID PIN_DeallocateBuffer (BUFFER_ID id, VOID *buf)
 
BOOL PIN_IsActionPending (THREADID tid)
 
UINT32 PIN_GetInitialThreadCount ()
 
VOID * PIN_GetBufferPointer (CONTEXT *const ctxt, BUFFER_ID id)
 
BOOL PIN_CheckReadAccess (VOID *addr)
 
BOOL PIN_CheckWriteAccess (VOID *addr)
 
ADDRINT PIN_GetAuxVectorValue (ADDRINT type, bool *found)
 
NORETURN VOID PIN_ExitApplication (INT32 status)
 
BOOL PIN_StopApplicationThreads (THREADID tid)
 
BOOL PIN_IsThreadStoppedInDebugger (THREADID tid)
 
VOID PIN_ResumeApplicationThreads (THREADID tid)
 
UINT32 PIN_GetStoppedThreadCount ()
 
THREADID PIN_GetStoppedThreadId (UINT32 i)
 
const CONTEXTPIN_GetStoppedThreadContext (THREADID tid)
 
CONTEXTPIN_GetStoppedThreadWriteableContext (THREADID tid)
 
OS_THREAD_ID PIN_GetTid ()
 
THREADID PIN_ThreadId ()
 
PIN_THREAD_UID PIN_ThreadUid ()
 
OS_THREAD_ID PIN_GetParentTid ()
 
VOID PIN_Sleep (UINT32 milliseconds)
 
VOID PIN_Yield ()
 
THREADID PIN_SpawnInternalThread (ROOT_THREAD_FUNC *pThreadFunc, VOID *arg, size_t stackSize, PIN_THREAD_UID *pThreadUid)
 
VOID PIN_ExitThread (INT32 exitCode)
 
BOOL PIN_IsApplicationThread ()
 
BOOL PIN_WaitForThreadTermination (const PIN_THREAD_UID &threadUid, UINT32 milliseconds, INT32 *pExitCode)
 
TLS_KEY PIN_CreateThreadDataKey (DESTRUCTFUN destruct_func)
 
BOOL PIN_DeleteThreadDataKey (TLS_KEY key)
 
BOOL PIN_SetThreadData (TLS_KEY key, const VOID *data)
 
BOOL PIN_SetThreadData (TLS_KEY key, const VOID *data, THREADID threadId)
 
VOID * PIN_GetThreadData (TLS_KEY key)
 
VOID * PIN_GetThreadData (TLS_KEY key, THREADID threadId)
 
VOID BBL_SetTargetVersion (BBL bbl, ADDRINT version)
 
ADDRINT TRACE_Version (TRACE trace)
 
VOID INS_InsertVersionCase (INS ins, REG reg, INT32 case_value, ADDRINT version,...)
 
int PIN_GetInitialContextForUnwind (const CONTEXT *ctxt, void *cursor)
 
int PIN_Backtrace (const CONTEXT *ctxt, void **buffer, int size)
 
PIN_CALLBACK PIN_AddForkFunctionProbed (FPOINT point, FORK_PROBE_MODE_CALLBACK fun, VOID *val)
 

Variables

LOCALCONST UINT32 crc32table []
 
LOCALVAR BOOL SymInit = false
 
LOCALVAR SYMBOL_INFO_MODE SymMode = NO_SYMBOLS
 
LOCALVAR CONDINSTSTATE condInstStateForIns = CONDINST_NORMAL
 
LOCALVAR PREDICATE insLastIfPredicate = PREDICATE_ALWAYS_TRUE
 
LOCALVAR CONDINSTSTATE condInstStateForTrace = CONDINST_NORMAL
 
GLOBALCONST UINT32 MAX_CLIENT_TLS_KEYS = (TLS_KEY_CLIENT_LAST - TLS_KEY_CLIENT_FIRST + 1)
 
LOCALCONST std::string UNKNOWN_ELEMENT = "???"
 

Detailed Description

PIN DWARF debugging information using libpindwarf (LLVM based) library

Static model for instrumenting IMG's once they are loaded into memory. This file contains the ELF specific part for Linux.

Ahead of Time Instrumentation

Pin client functions for the follow child process mechanism

PIN support for debugging information

Pin client functions for the application-level debugger.

Deprecated Pin client functions.

Static model for instrumenting IMG's once they are loaded into memory.

Pin client interface and implementation for internal exception handling

Client side interface to pin vm.

Additional client side interface to pin vm containing the interfaces useful for a replay tool. These mainly allow a PinTool to request that Pin execute callbacks associated with specific events.

pin client state

Pin Jitted Functions Support

Pin client functions to temporarily stop all application threads, examine their state and resume.

Threading API for clients

Pin client interfaces for trace versioning

Unix-specific instrumentation in probe mode

Binary symbol handling in Unix.