Public Member Functions | Package Functions

BinNavi.API.debug.IDebuggerListener Interface Reference

Interface for listening on raw debugger messages. More...

Inheritance diagram for BinNavi.API.debug.IDebuggerListener:
BinNavi.API.debug.DebuggerListenerAdapter

List of all members.

Public Member Functions

void debuggerConnected ()
void receivedAttachReply (int packetId, int errorCode)
 Signals the arrival of an Attach reply.
void receivedBreakpointHitReply (int packetId, int errorCode, long threadId, RegisterValues registerValues)
 Signals the arrival of a Breakpoint Hit reply.
void receivedBreakpointRemovedReply (int packetId, int errorCode, Address address)
 Signals the arrival of a Breakpoint Removed reply.
void receivedBreakpointSetReply (int packetId, int errorCode, Address address)
 Signals the arrival of a Breakpoint Set reply.
void receivedDetachReply (int packetd, int errorCode)
 Signals the arrival of a Detached reply.
void receivedEchoBreakpointHitReply (int packetId, int errorCode, long threadId, RegisterValues registerValues)
 Signals the arrival of an Echo Breakpoint Hit reply.
void receivedEchoBreakpointRemovedReply (int packetId, int errorCode, Address address)
 Signals the arrival of an Echo Breakpoint Removed reply.
void receivedEchoBreakpointSetReply (int packetId, int errorCode, Address address)
 Signals the arrival of an Echo Breakpoint Set reply.
void receivedExceptionReply (int packetId, int errorCode, long threadId, Address address, long exceptionCode)
 Signals the arrival of an Exception reply.
void receivedHaltReply (int packetId, int errorCode)
 Signals the arrival of a Halt reply.
void receivedMemoryMap (int packetId, int errorCode, MemoryMap memoryMap)
 Signals the arrival of a Memory Map reply.
void receivedModuleLoadedReply (int packetId, int errorCode, MemoryModule memoryModule)
 Signals the arrival of a Module Loaded reply.
void receivedModuleUnloadedReply (int packetId, int errorCode, MemoryModule memoryModule)
 Signals the arrival of a Module Unloaded reply.
void receivedProcessClosedReply (int packetId, int errorCode)
 Signals the arrival of a Process Closed reply.
void receivedProcessStartReply (int packetId, int errorCode, MemoryModule memorymodule, long threadId)
void receivedReadMemoryReply (int packetId, int errorCode, Address address, byte[] data)
 Signals the arrival of a Memory Read reply.
void receivedRegistersReply (int packetId, int errorCode, RegisterValues registerValues)
 Signals the arrival of a Registers Read reply.
void receivedRequestTargetReply (int packetId, int errorCode)
void receivedResumeReply (int packetId, int errorCode)
 Signals the arrival of a Resumed reply.
void receivedSetRegisterReply (int packetId, int errorCode)
 Signals the arrival of a Register Set reply.
void receivedSingleStepReply (int packetId, int errorCode, long threadId, Address address, RegisterValues registerValues)
 Signals the arrival of a Single Step reply.
void receivedTargetInformationReply (int packetId, int errorCode, TargetInformation targetInformation)
 Signals the arrival of a Target Information reply.
void receivedTerminateReply (int packetId, int errorCode)
 Signals the arrival of a Terminated reply.
void receivedThreadClosedReply (int packetId, int errorCode, long threadId)
 Signals the arrival of a Thread Closed reply.
void receivedThreadCreatedReply (int packetId, int errorCode, long threadId)
 Signals the arrival of a Thread Created reply.

Package Functions

void debuggerClosed (int errorCode)
 Signals that the debugger was closed.

Detailed Description

This interface can be implemented by all classes that want to work with the messages received from debug clients. In most cases this is not necessary because BinNavi offers higher-level ways to access this data (see the Process and Thread classes for example). There are a few cases where it might nevertheless be useful to work with raw messages directly.


Member Function Documentation

void BinNavi.API.debug.IDebuggerListener.debuggerClosed ( int  errorCode  )  [package]

Invoked after the debugger closed down for whatever reason.

Parameters:
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.debuggerConnected (  ) 

Invoked after the connection has been established to the debugger.

Implemented in BinNavi.API.debug.DebuggerListenerAdapter.

void BinNavi.API.debug.IDebuggerListener.receivedAttachReply ( int  packetId,
int  errorCode 
)

Invoked after a message was received from the debug client that signals that a previous Attach command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.receivedBreakpointHitReply ( int  packetId,
int  errorCode,
long  threadId,
RegisterValues  registerValues 
)

Invoked after a message was received from the debug client that signals that a breakpoint was hit by the target process.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
threadId The thread ID of the thread that hit the breakpoint.
registerValues Register values of all threads of the target process.
void BinNavi.API.debug.IDebuggerListener.receivedBreakpointRemovedReply ( int  packetId,
int  errorCode,
Address  address 
)

Invoked after a message was received from the debug client that signals that a previous Remove Breakpoint command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
address Address of the breakpoint that was removed.
void BinNavi.API.debug.IDebuggerListener.receivedBreakpointSetReply ( int  packetId,
int  errorCode,
Address  address 
)

Invoked after a message was received from the debug client that signals that a previous Set Breakpoint command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
address Address of the breakpoint that was set.
void BinNavi.API.debug.IDebuggerListener.receivedDetachReply ( int  packetd,
int  errorCode 
)

Invoked after a message was received from the debug client that signals that a previous Detach command was processed.

Parameters:
packetd The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.receivedEchoBreakpointHitReply ( int  packetId,
int  errorCode,
long  threadId,
RegisterValues  registerValues 
)

Invoked after a message was received from the debug client that signals that an echo breakpoint was hit by the target process.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
threadId The thread ID of the thread that hit the breakpoint.
registerValues Register values of all threads of the target process.
void BinNavi.API.debug.IDebuggerListener.receivedEchoBreakpointRemovedReply ( int  packetId,
int  errorCode,
Address  address 
)

Invoked after a message was received from the debug client that signals that a previous Echo Remove Breakpoint command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
address Address of the breakpoint that was removed.
void BinNavi.API.debug.IDebuggerListener.receivedEchoBreakpointSetReply ( int  packetId,
int  errorCode,
Address  address 
)

Invoked after a message was received from the debug client that signals that a previous Echo Set Breakpoint command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
address Address of the breakpoint that was set.
void BinNavi.API.debug.IDebuggerListener.receivedExceptionReply ( int  packetId,
int  errorCode,
long  threadId,
Address  address,
long  exceptionCode 
)

Invoked after a message was received from the debug client that signals that an exception occurred in the target process.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
threadId Thread ID of the thread that caused the exception.
address Address where the exception occurred.
exceptionCode Exception code of the exception.
void BinNavi.API.debug.IDebuggerListener.receivedHaltReply ( int  packetId,
int  errorCode 
)

Invoked after a message was received from the debug client that signals that a previous Halt command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.receivedMemoryMap ( int  packetId,
int  errorCode,
MemoryMap  memoryMap 
)

Invoked after a message was received from the debug client that signals that a previous Memory Map command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
memoryMap The memory map of the target process.
void BinNavi.API.debug.IDebuggerListener.receivedModuleLoadedReply ( int  packetId,
int  errorCode,
MemoryModule  memoryModule 
)

Invoked after a message was received from the debug client that signals that a new dynamic module was loaded into the address space of the target process.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
memoryModule The module that was loaded.
void BinNavi.API.debug.IDebuggerListener.receivedModuleUnloadedReply ( int  packetId,
int  errorCode,
MemoryModule  memoryModule 
)

Invoked after a message was received from the debug client that signals that a dynamic module was unloaded from the address space of the target process.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
memoryModule The module that was unloaded.
void BinNavi.API.debug.IDebuggerListener.receivedProcessClosedReply ( int  packetId,
int  errorCode 
)

Invoked after a message was received from the debug client that signals that a the target process was closed.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.receivedProcessStartReply ( int  packetId,
int  errorCode,
MemoryModule  memorymodule,
long  threadId 
)

Invoked after a message was received from the debug client that signals that the target process has just been started (but is not running yet).

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
memorymodule The process image memory module of the target process.
threadId The thread id of the initial thread in the target process.
void BinNavi.API.debug.IDebuggerListener.receivedReadMemoryReply ( int  packetId,
int  errorCode,
Address  address,
byte[]  data 
)

Invoked after a message was received from the debug client that signals that a previous Read Memory command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
address The start address from where the data was read.
data The data read from the memory of the target process.
void BinNavi.API.debug.IDebuggerListener.receivedRegistersReply ( int  packetId,
int  errorCode,
RegisterValues  registerValues 
)

Invoked after a message was received from the debug client that signals that a previous Read Registers command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
registerValues The register values of the target process. This value is null if an error is signaled.
void BinNavi.API.debug.IDebuggerListener.receivedRequestTargetReply ( int  packetId,
int  errorCode 
)

Invoked after the debugger has been started and requests a target to launch.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.receivedResumeReply ( int  packetId,
int  errorCode 
)

Invoked after a message was received from the debug client that signals that a previous Resume command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.receivedSetRegisterReply ( int  packetId,
int  errorCode 
)

Invoked after a message was received from the debug client that signals that a previous Set Register command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.receivedSingleStepReply ( int  packetId,
int  errorCode,
long  threadId,
Address  address,
RegisterValues  registerValues 
)

Invoked after a message was received from the debug client that signals that a previous Single Step command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
threadId The ID of the thread that executed the single step.
address The new instruction pointer value of the thread that executed the single step.
registerValues The register values of the threads of the target process.
void BinNavi.API.debug.IDebuggerListener.receivedTargetInformationReply ( int  packetId,
int  errorCode,
TargetInformation  targetInformation 
)

Invoked after a message was received from the debug client that signals that new target information about the target process arrived.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
targetInformation The target information sent by the debug client. This value is null if an error is signaled.
void BinNavi.API.debug.IDebuggerListener.receivedTerminateReply ( int  packetId,
int  errorCode 
)

Invoked after a message was received from the debug client that signals that a previous Terminate command was processed.

Parameters:
packetId The unique packet ID of the original request.
errorCode 0 to indicate success, any other value to indicate an error.
void BinNavi.API.debug.IDebuggerListener.receivedThreadClosedReply ( int  packetId,
int  errorCode,
long  threadId 
)

Invoked after a message was received from the debug client that signals that an existing thread of the target process was closed.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
threadId The thread ID of the thread that was closed.
void BinNavi.API.debug.IDebuggerListener.receivedThreadCreatedReply ( int  packetId,
int  errorCode,
long  threadId 
)

Invoked after a message was received from the debug client that signals that a new thread was created in the target process.

Parameters:
packetId Always -1 because this is an out-of-band message that is not the answer to a previous request.
errorCode 0 to indicate success, any other value to indicate an error.
threadId The thread ID of the new thread.