Classes | |
| struct | DEBUG_CONNECTION_INFO |
Typedefs | |
| typedef BOOL(* | LEVEL_PINCLIENT::DEBUG_INTERPRETER_CALLBACK )(THREADID threadIndex, CONTEXT *ctxt, const std::string &cmd, std::string *reply, VOID *v) |
Enumerations | |
| enum | DEBUG_STATUS { DEBUG_STATUS_DISABLED, DEBUG_STATUS_UNCONNECTED, DEBUG_STATUS_CONNECTED } |
| enum | DEBUG_CONNECTION_TYPE { DEBUG_CONNECTION_TYPE_TCP_SERVER, DEBUG_CONNECTION_TYPE_TCP_CLIENT } |
Functions | |
| VOID | 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) |
| DEBUG_STATUS | LEVEL_PINCLIENT::PIN_GetDebugStatus () |
| BOOL | LEVEL_PINCLIENT::PIN_GetDebugConnectionInfo (DEBUG_CONNECTION_INFO *info) |
| BOOL | LEVEL_PINCLIENT::PIN_WaitForDebuggerToConnect (unsigned timeout) |
| BOOL | LEVEL_PINCLIENT::PIN_IsActionPending (THREADID tid) |
|
|
Call-back function to handle commands from a debugger.
|
|
|
Possible connection types for an application debugger. The connection type is specified via knobs when Pin is started. |
|
|
Possible status codes telling the state of application level debugging. |
|
||||||||||||
|
Register a handler that can interpret commands sent from an application debugger. This API allows a tool to extend the normal set of commands understood by a debugger that is connected to Pin. A tool may install more than one interpreter function. Pin calls each one until it reaches an interpreter that understand the command.
|
|
||||||||||||||||||||
|
Stop in an external debugger as though a breakpoint was hit. If application level debugging is not enabled in this Pin session, execution does not stop, but resumes immediately at the context specified by ctxt. Tools can tell if application level debugging is enabled by calling PIN_GetDebugStatus().
|
|
|
This function retrieves the information that an application level debugger will need in order to connect to this Pin session.
|
|
|
This function tells whether application level debugging is enabled in this Pin session. If so, it tells whether an application debugger is currently connected to Pin.
|
|
|
This function is useful when an analysis routine might block for an indefinite period of time. In such cases, the analysis code can periodically call PIN_IsActionPending() to see if the thread has some pending action that needs to be handled in the Pin VM. If so, the analysis routine should return back to the VM, either by returning or by calling PIN_ExecuteAt().
|
|
|
Remove a previously installed debug interpreter function.
|
|
|
Waits for an application level debugger to connect to this Pin session. This function may only be called after PIN_StartProgram(). If application level debugging is not enabled on this Pin session, it returns FALSE immediately.
|
1.4.6