Pin
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Typedefs | Functions | Variables
debugger_client.cpp File Reference
#include "level_base.H"
#include "level_core.H"
#include "level_imgio.H"
#include "level_vmclient.H"
#include "level_pinclient.H"
#include "debugger-connection-client.hpp"
#include "thread-depot-client.hpp"

Typedefs

typedef BOOL(* LEVEL_PINCLIENT::DEBUG_INTERPRETER_CALLBACK )(THREADID threadIndex, CONTEXT *ctxt, const std::string &cmd, std::string *reply, VOID *v)
 
typedef BOOL(* LEVEL_PINCLIENT::INTERCEPT_DEBUGGING_EVENT_CALLBACK )(THREADID tid, DEBUGGING_EVENT eventType, CONTEXT *ctxt, VOID *arg)
 
typedef VOID(* LEVEL_PINCLIENT::GET_EMULATED_REGISTER_CALLBACK )(unsigned toolRegId, THREADID tid, CONTEXT *ctxt, VOID *data, VOID *v)
 
typedef VOID(* LEVEL_PINCLIENT::SET_EMULATED_REGISTER_CALLBACK )(unsigned toolRegId, THREADID tid, CONTEXT *ctxt, const VOID *data, VOID *v)
 
typedef USIZE(* LEVEL_PINCLIENT::GET_TARGET_DESCRIPTION_CALLBACK )(const std::string &name, USIZE size, VOID *buf, VOID *v)
 

Functions

LOCALFUN BOOL LEVEL_PINCLIENT::CallDebugInterpreters (THREADID, CONTEXT *, const char *, const char **)
 
LOCALFUN BOOL LEVEL_PINCLIENT::CallInterceptedDebuggingEvent (THREADID, DEBUGGING_EVENT, CONTEXT *)
 
LOCALFUN VOID LEVEL_PINCLIENT::GetEmulatedRegister (unsigned, THREADID, CONTEXT *, VOID *)
 
LOCALFUN VOID LEVEL_PINCLIENT::SetEmulatedRegister (unsigned, THREADID, CONTEXT *, const VOID *)
 
LOCALFUN USIZE LEVEL_PINCLIENT::GetTargetDescription (const std::string &, USIZE, VOID *)
 
VOID LEVEL_PINCLIENT::DebuggerClientInitialize ()
 
PIN_CALLBACK LEVEL_PINCLIENT::PIN_AddDebugInterpreter (DEBUG_INTERPRETER_CALLBACK fun, VOID *val)
 
VOID LEVEL_PINCLIENT::PIN_RemoveDebugInterpreter (DEBUG_INTERPRETER_CALLBACK fun)
 
VOID LEVEL_PINCLIENT::PIN_ApplicationBreakpoint (const CONTEXT *ctxt, THREADID tid, BOOL waitIfNoDebugger, const std::string &msg)
 
BOOL LEVEL_PINCLIENT::PIN_SetDebugMode (const DEBUG_MODE *mode)
 
DEBUG_STATUS LEVEL_PINCLIENT::PIN_GetDebugStatus ()
 
BOOL LEVEL_PINCLIENT::PIN_GetDebugConnectionInfo (DEBUG_CONNECTION_INFO *info)
 
DEBUGGER_TYPE LEVEL_PINCLIENT::PIN_GetDebuggerType ()
 
BOOL LEVEL_PINCLIENT::PIN_WaitForDebuggerToConnect (unsigned timeout)
 
BOOL LEVEL_PINCLIENT::PIN_GetStoppedThreadPendingToolBreakpoint (THREADID tid, std::string *msg)
 
BOOL LEVEL_PINCLIENT::PIN_ChangePendingToolBreakpointOnStoppedThread (THREADID tid, BOOL squash, const std::string &msg)
 
VOID LEVEL_PINCLIENT::PIN_InterceptDebuggingEvent (DEBUGGING_EVENT eventType, INTERCEPT_DEBUGGING_EVENT_CALLBACK fun, VOID *arg)
 
VOID LEVEL_PINCLIENT::PIN_AddDebuggerRegisterEmulator (unsigned numRegisters, const DEBUGGER_REG_DESCRIPTION *registerDescriptions, GET_EMULATED_REGISTER_CALLBACK getFun, SET_EMULATED_REGISTER_CALLBACK setFun, GET_TARGET_DESCRIPTION_CALLBACK getDescriptionFun, VOID *val)
 

Variables

LOCALTYPE typedef
COMPLEX_CALLBACKVAL
< DEBUG_INTERPRETER_CALLBACK > 
LEVEL_PINCLIENT::DEBUG_INTERPRETER_CALLBACKVAL
 
LOCALTYPE typedef
DEBUG_INTERPRETER_CALLBACKVAL::FUNS 
LEVEL_PINCLIENT::DEBUG_INTERPRETER_CALLBACKFUNS
 
LOCALTYPE typedef
SIMPLE_CALLBACKVAL
< INTERCEPT_DEBUGGING_EVENT_CALLBACK > 
LEVEL_PINCLIENT::INTERCEPT_DEBUGGING_EVENT_CALLBACKVAL
 
LOCALVAR
DEBUG_INTERPRETER_CALLBACKFUNS 
LEVEL_PINCLIENT::debugInterpreterList
 
LOCALVAR
INTERCEPT_DEBUGGING_EVENT_CALLBACKVAL 
LEVEL_PINCLIENT::InterceptDebuggingEventBreakpoint
 
LOCALVAR
INTERCEPT_DEBUGGING_EVENT_CALLBACKVAL 
LEVEL_PINCLIENT::InterceptDebuggingEventSingleStep
 
LOCALVAR
INTERCEPT_DEBUGGING_EVENT_CALLBACKVAL 
LEVEL_PINCLIENT::InterceptDebuggingEventAsyncBreak
 
LOCALVAR
GET_EMULATED_REGISTER_CALLBACK 
LEVEL_PINCLIENT::GetEmulatedRegisterCallback
 
LOCALVAR
SET_EMULATED_REGISTER_CALLBACK 
LEVEL_PINCLIENT::SetEmulatedRegisterCallback
 
LOCALVAR
GET_TARGET_DESCRIPTION_CALLBACK 
LEVEL_PINCLIENT::GetTargetDescriptionCallback
 
LOCALVAR VOID * LEVEL_PINCLIENT::EmulatedRegisterCallbackVal
 

Detailed Description

Pin client functions for the application-level debugger.